Halo Sobat Rumah Coding,
Pekan ini Laravel mengeluarkan versi terbaru mereka, yaitu Laravel versi 10.33 dengan tambahan fitur fitur yang menarik. Untuk lebih jelasnya Simak pembahasan berikut ini yuk!!
Update Laravel 10.33
Update Laravel dari versi 10.32 ke Laravel versi 10.33 pada bulan November 2023. Berikut ini adalah info tentang beberapa fitur terbaru Laravel pada pekan ini:
Number utility class
Caen De Silva berkontribusi pada Laravel Number Utility Class, yang dimana mempermudah pemformatan angka yang dibutuhkan. Number helper terdapat pada `Illuminate\Support` package, yang memberikan Anda beberapa helper yang baru. Berikut ini adalah beberapa contohnya:
Number::format(25) // 25
Number::format(100000) // 100,000
Number::format(123456789) // 123,456,789
Number::format(123456789, locale: 'en') // 123,456,789
Number::format(123456789, locale: 'de') // 123.456.789
Number::format(123456789, locale: 'sv') // 123 456 789
Number::percentage(25) // 25%
Number::percentage((1/3) * 100, precision: 2)
color_hex validation rule
Niko Peikrishvli berkontribusi membuat fitur validasi untuk `hex_color`. Fitur ini digunakan untuk melakukan pengecekkan pada hex color apakah hex color tersebut valid atau tidak. Ada beberapa aturan untuk mengetahui apakah hex color valid atau tidak:
- Standard 6-Digit Hex Codes:
Format #RRGGBB
Setiap pasang karakter (RR, GG, BB) melambangkan intensitas warna merah, hijau, dan biru. Setiap pasang karakter ditulis dengan format heksadesimal, mulai dari 00 sampai dengan FF.
- Short 3-Digit Hex Codes:
Format #RGB
Versi singkat dari standard hex codes yang dimana setiap karakter mewakili warna merah, hijau dan biru
Pesan error jika hex color tidak valid:
Pass the $validator as a parameter to $callback Closure
shinsenter berkontribusi dengan menambahkan instance validator sebagai argument dalam colsure-based validation rules. Fitur ini meneruskan property $validator sebagai parameter ke $callback Closure, Sehingga kita dapat memanfaatkan property $validator yang ada pada kelas ClosureValidationRule.
use Closure;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\LazyCollection;
+ use Illuminate\Validation\Validator as ValidationValidator;
$rules = [
'price' => [
- function (string $attribute, mixed $value, Closure $fail) {
+ function (string $attribute, mixed $value, Closure $fail, ValidationValidator $validator) {
- if ($value === 'foo') {
+ if (!price_logic($value, $validator->attributes()['payment_country'] ?? null)) {
$fail("The {$attribute} is invalid.");
}
},
],
];
Release notes
Anda bisa melihat daftar fitur dan pembaruan Laravel v10.33 pada github.
v10.33
[10.x] Fix wrong parameter passing and add these rules to dependent rules by @kayw-geek in #49008
[10.x] Make Validator::getValue() public by @shinsenter in #49007
[10.x] Custom messages for Password validation rule by @rcknr in #48928
[10.x] Round milliseconds in database seeder console output runtime by @SjorsO in #49014
[10.x] Add a Number utility class by @caendesilva in #48845
[10.x] Fix the replace() method in DefaultService class by @jonagoldman in #49022
[10.x] Pass the property $validator as a parameter to the $callback Closure by @shinsenter in #49015
[10.x] Fix Cache DatabaseStore::add() error occur on Postgres within transaction by @xdevor in #49025
[10.x] Support asserting against chained batches by @taylorotwell in #49003
[10.x] Prevent DB Cache::get() occur race condition by @xdevor in #49031
[10.x] Fix notifications being counted as sent without a "shouldSend" method by @joelwmale in #49030
[10.x] Fix tests failure on Windows by @hafezdivandari in #49037
[10.x] Add unless conditional on validation rules by @michaelnabil230 in #49048
[10.x] Handle string based payloads that are not JSON or form data when creating PSR request instances by @timacdonald in #49047
[10.x] Fix directory separator CMD display on windows by @imanghafoori1 in #49045
[10.x] Fix mapSpread doc by @timacdonald in #48941
[10.x] Tiny Support\Collection test fix - Unused data provider parameter by @stevebauman in #49053
[10.x] Feat: Add color_hex validation rule by @nikopeikrishvili in #49056
[10.x] Handle missing translation strings using callback by @DeanWunder in #49040
[10.x] Add Str::transliterate to Stringable by @dwightwatson in #49065
Add Alpha Channel support to Hex validation rule by @ahinkle in #49069