Berita

Laravel v9.32 Telah Dirilis

Diposting oleh I. B. Gd Pramana A. Putra pada 03 Oct 22, diperbarui pada 03 Oct 22

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

Sebisa mungkin saya selalu merilis berita terbaru seputar IT & Tech Development. Jika kamu menghargai berita yang saya hadirkan, maka jangan lupa untuk mentraktir saya secangkir kopi atau makanan ringan :)

Dukung saya dengan · paypal · buymeacoffee · ko-fi · trakteer
Jawaban & Respon
    Belum ada komentar

Login dulu

Kamu harus login terlebih dahulu sebelum memberikan komentar pada pos ini.