Tim internal Laravel telah merilis versi 9.32 dengan dd()
yang memberitahu baris output, begitu juga enkripsi dan dekripsi file .env, sintaks pendek untuk atribut pada komponen Blade, dan masih banyak lagi lainnya.
Penambahan sumber baris pada output dd
Nuno Maduro meningkatkan kulaitas dd()
dan output dump()
, menambahkan baris sumber satu per satu:
Pembaruan ini sangat bermanfaat terutama jika kamu sering menggunakan dd()
di direktori vendor/folder
atau di manapun yang tidak masuk ke dalam version control.
Enkripsi dan Dekripsi .env
Joe Dixon menambahkan dua perintah artisan untuk meng-enkripsi dan meng-dekripsi perintah .env. Berdasarkan PR](https://github.com/laravel/framework/pull/44034#issue-1364610312), kedua perintah tersebut terinspirasi dari Rails yang memiliki kesamaan fungsi (semenjak 5.1)
Inspiration for this was taken from Rails, who have had similar functionality since Rails 5.1 released in 2017.
The biggest benefit of this is that the encrypted environment files can be committed to version control which opens up a number of possibilities.
Salah satu benefit adalah kamu bisa meng-komit file-file enkripsi tersebut ke version control, kemudian membuat versi untuk tahap development, staging, dll.
# Looks for .env and creates .env.encrypted
php artisan env:encrypt
# Use a supported cipher
php artisan env:encrypt --cipher=aes-256-cbc
# Looks for .env.production and creates .env.production.encrypted
php artisan env:encrypt --env=production
Untuk mendekripsi dan mengenkripsi file, kamu bisa gunakan perintah artisan berikut:
# Decrypts .env.encrypted to create a .env file
php artisan env:decrypt --key=h9kAPUmxdZ8ZbwT3
# Specify options
php artisan env:decrypt \
--key=h9kAPUmxdZ8ZbwT3 \
--env=production \
--filename=.env"
Share WithoutOverlapping key across jobs
Tim MacDonald berkontribusi menambahkan pembaruan pada WithoutOverlapping
yang menerapkan logika overlapping pada setiap job ketimbang dari instance kelas yang sama Lihat Pull Request #44227 untuk lebih lengkap.
Sintaks lebih pendek untuk komponen Blade
Pascal Baljet berkontribusi dengan menambahkan kemampuan penggunaan sintaks yang lebih pendek saat memberikan atribut bagi komponen Blade:
<!-- current syntax -->
<x-profile :user-id="$userId"></x-profile>
<!-- short syntax -->
<x-profile :$userId></x-profile>
Mengambil data request sebagai integer dan float
Jason McCreary menambahkan kemampuan untuk langsung melakukan kasting pada data yang tipenya float dan integer.
// Before
intval($request->input('some_int_value'));
floatval($request->input('some_float_value'));
// After
$request->integer('some_int_value');
$request->float('some_float_value');
Kasting stringables
Jason McCreary menambahkan fungsi-fungsi untuk "dengan mudah melakukan kasting string ke tipe data umum yang serupa dengan yang didapati dari HTTP Request Laravel":
// Before
intval(str('shift-worker-01')->afterLast('-')->toString());
floatval(str('Result: 1.23')->after(':')->trim()->toString());
str('YeS')->lower()->toString() === 'yes';
Carbon::parse(str('DOB: 12-31-2001')->after(':')->trim()->toString());
// After
str('shift-worker-01')->afterLast('-')->toInteger();
str('Result: 1.23')->after(':')->trim()->toFloat();
str('YeS')->lower()->toBoolean();
str('DOB: 12-31-2001')->after(':')->trim()->toDate();
Memungkinkan rute binding enum untuk memiliki default
Florian Stascheck menambahkan kontribusi untuk menyediakan default bagi enum rute binding ketika membuat route :
Route::get('/categories-default/{category?}', function (CategoryBackedEnum $category = CategoryBackedEnum::Fruits) {
return $category->value;
})->middleware('web');
Lihat Pull Request #44255 untuk lebih jelasnya.
Catatan Rilis
Kamu bisa melihat pembaruan sepenuhnya dan perbedaan antara 9.31.0 dan 9.32.0https://github.com/laravel/framework/compare/v9.31.0...v9.32.0) pada GitHub. Catatan rilis berikut ini berasal dari changelog::
v9.32.0
Penambahan
- New env:encrypt and env:decrypt commands (#44034)
- Share WithoutOverlapping key across jobs (#44227)
- Add missing citext type mapping to Illuminate/Database/Console/DatabaseInspectionCommand::$typeMappings (#44237)
- Short attribute syntax for Blade Components (#44217)
- Adds source file to dd function output (#44211)
- Add methods to get request data as integer or float (#44239)
- Adds Eloquent User Provider query handler (#44226)
- Added Illuminate/Support/Testing/Fakes/BusFake::dispatchFakeBatch() (#44176)
- Added methods to cast Stringables (#44238)
- Added Illuminate/Routing/UrlGenerator::withKeyResolver() (#44254)
- Add a hook to the serialisation of collections (#44272)
- Allow enum route bindings to have default values (#44255)
- Added benchmark utility class (b4293d7, #44297)
- Added Illuminate/Console/Scheduling/ManagesFrequencies::everyOddHour() (#44288)
Perbaikan
- Fix incrementing string keys (#44247)
- Fix bug in Fluent Class with named arguments in migrations (#44251)
- Fix "about" command caching report (#44305)
- Fixes memory leaks (#44306, #44307)
Perubahan
- Patch for timeless timing attack vulnerability in user login (#44069)
- Refactor: register commands in artisan service (#44257)
- Allow factories to recycle models with for method (#44265)
- Use dedicated method for placeholder replacement in validator (#44296)
Sumber: Laravel-News