Lihat 5.8 Fitur Baru yang Menyenangkan dari Laravel
Diterbitkan: 2022-01-02Laravel, kerangka kerja PHP luar biasa yang dibuat oleh Taylor Otwell pada tahun 2011 adalah yang terbaik di antara semua kerangka kerja PHP. Ini dapat diakses, kuat, kuat, dan menjalin beberapa aplikasi luar biasa.
Kerangka kerja PHP ini memfasilitasi pengembang untuk menerapkan pola MVC yang mengabstraksi fungsi kompleks. Pembaruan sangat penting dan hanya untuk perbaikan siklus hidup aplikasi.
Laravel secara kasar merilis pembaruan setiap 5-6 bulan dan tahun ini juga, Laravel merilis versi 5.8 (19 Maret) dan tidak tersedia untuk digunakan. Anda dapat menyewa pengembang Laravel untuk menyelesaikan tugas secepat mungkin.
Peningkatan berkelanjutan dari versi sebelumnya telah menghadirkan beberapa fitur menarik bagi para pengembang. Mari kita mengintip beberapa fitur luar biasa yang akan ditawarkan versi baru ini
- Resolusi kebijakan otomatis
- Dukungan karbon 2.0
- Memiliki- hubungan fasih satu-sampai
- Token guarding dan hashing
- Cache TTL
- Konfigurasi Zona Waktu Penjadwal
- Artisan:: peningkatan panggilan
- Metode pembantu Pengujian tiruan/mata-mata
- Perbaikan servis artisan
- Metode fasih tingkat tinggi
- dotenv 3.0
- Template Penanganan kesalahan baru
Resolusi kebijakan otomatis:
Versi Laravel sebelumnya memiliki model atau kebijakan di lokasi non-konvensional dan harus didaftarkan di kelas AuthServiceProvider. Dalam versi ini, model dan kebijakan akan disimpan di lokasi konvensional.
Anda tidak perlu lagi mendaftarkan kebijakan otorisasi model secara manual. Versi baru ini akan secara otomatis menemukan kebijakan dengan mengikuti konvensi penamaan Laravel standar.
Jika kebijakan yang ingin Anda daftarkan terletak di beberapa lokasi lain, daftarkan panggilan balik dengan menggunakan
Gerbang::guessPolicyNamesMenggunakan .
Anda dapat memanggil metode ini dari metode stan AuthServiceProvider dengan cara berikut:
gunakan Illuminate\Support\Facades\Gate;
Gerbang::guessPolicyNamesUsing(fungsi ($modelClass) {
// kembalikan nama kelas kebijakan...
});
Dukungan Karbon 2.0:
Kabar baik bagi para pengembang, sekarang Anda dapat membuat aplikasi Anda menggunakan CarbonImmutable sebagai default.
Paket ini merentangkan kelas Tanggal dan Waktu PHP dan membuat bekerja dengan Tanggal dan Waktu menjadi sangat mudah. Pemilihan kelas tergantung pada pengguna.
HasOneThrough Hubungan yang fasih:
Fitur baru ini hampir mirip dengan yang ditawarkan oleh Rails. Mari kita ambil contoh, Misalkan kita memiliki tiga model, model Supplier, Account dan Account History. Dengan kata sederhana, pemasok memiliki akun dan akun memiliki satu riwayat akun.
Di versi sebelumnya, untuk mendapatkan riwayat akun, kami biasa menulis: $supplier->account->accountHistory. Tapi sekarang melalui hubungan yang fasih ini, Anda akan langsung menulis
$history = $supplier->accountHistory
di seluruh model akun.
akun fungsi publikHistory()
{
Kembalikan $this->hasOneThrough(AccountHistory::class, Account::class);
}
Token guard token hashing:
Dengan fitur penjaga token, Anda sekarang dapat menyimpan token API sebagai hash SHA-256. Sebelumnya token API disimpan sebagai token teks biasa yang sekarang telah ditingkatkan. Ini telah meningkatkan keamanan dan penyimpanan token yang dihasilkan.
TTL Tembolok:
Pengaturan caching dari menit sekarang telah berubah menjadi detik. Peningkatan ini dilakukan untuk kontrol yang lebih tepat dan terperinci untuk waktu kedaluwarsa. Fitur ini sesuai dengan standar pustaka caching PSR-16.
Selanjutnya, ingat selalu untuk memperbarui caching aplikasi Anda ke detik.
// Laravel 5.7 - Simpan item selama 5 menit...
Cache::put('foo', 'bar', 10);
// Laravel 5.8 - Simpan item selama 5 detik...
Cache::put('foo', 'bar', 10);
Konfigurasi Zona Waktu Penjadwal:
Versi baru Laravel ini memungkinkan Anda untuk menyesuaikan zona waktu untuk tugas yang terdaftar menggunakan metode zona waktu.

$jadwal->perintah('jalankan')
-> setiap hari()
->di('15:00')
->zona waktu('Amerika/Chicago');
Ini dianggap sebagai tugas yang merepotkan di versi sebelumnya karena Anda harus melakukannya untuk setiap tugas yang dijadwalkan. Tetapi dengan ini, Anda hanya perlu mendefinisikan metode yang disebut ScheduleTimezone di file app/Console/Kernel.php.
Perubahan kemudian akan dilampirkan ke setiap penjadwal dalam daftar.
/**
* Dapatkan zona waktu yang seharusnya digunakan secara default untuk acara terjadwal.
*
* @return \DateTimeZone|string|null
*/
fungsi terlindung scheduleTimezone()
{
kembali 'Amerika/Chicago';
}
Peningkatan panggilan artisan:
Anda dapat membuat perintah Artisan menggunakan metode Artisan::call di versi baru ini. Perintah sekarang dapat diteruskan sebagai array dalam satu string seperti yang diberikan di bawah ini:
Artisan::call('migrate:install --database=foo');Perbaikan servis artisan:
Versi sebelumnya memiliki port default yang ditetapkan pada 8000 di mana aplikasi akan berjalan. Dan jika ada perintah lain yang berjalan di port ini, mungkin akan gagal melayani perintah baru.
Versi baru akan memindai port hingga 8009 yang memungkinkan pengembang menjalankan beberapa aplikasi secara bersamaan.
Metode pembantu Pengujian Mock/Spy:
Pengujian tiruan hanya akan membantu pengembang dalam membuat kode lebih bersih dan mudah dibaca. Metode tiruan dan mata-mata ditambahkan ke kelas kasus uji Laravel dasar. Metode ini akan secara otomatis mengikat kelas yang akan diejek dengan wadah.
fungsi publik testBasicTest()
{
$this->mock(TransactionService::class, function($mock){
$mock->shouldReceive('find')->once()->with(1)->andReturn(['id' => 1, 'name' => 'foo'])
});
}
Orde Tinggi orWhere metode fasih:
Di versi sebelumnya, kami akan mendefinisikan kueri tercakup dengan "atau" dalam panggilan balik penutupan. Dengan diperkenalkannya metode orWhere “urutan lebih tinggi”, Anda dapat dengan mudah merangkai kueri cakupan ini secara kolektif tanpa menggunakan penutupan. Sebagai contoh:
$users = App\User::emailVerified()->orWhere->active()->get();
dotenv 3.0:
Untuk mengelola file .env baru proyek Anda, Laravel 5.8 akan mendukung dotenv 3.0 baru. Dotenv 3.0 baru ini mendukung string multiline dan spasi putih di akhir string. Fitur ini akan sangat membantu di mana kunci API multiline diperlukan untuk keamanan.
Templat halaman kesalahan baru:
Halaman kesalahan baru diperkenalkan dengan desain yang sangat minimalis yang cocok untuk berbagai situs web dan aplikasi. Bahkan dimungkinkan untuk menyesuaikan halaman kesalahan atau mengimpor halaman kesalahan yang dirancang sebelumnya.
Ada banyak perusahaan pengembang Laravel untuk pengembangan aplikasi. Versi baru ini adalah harta karun dari beberapa fitur luar biasa. Konten di atas telah mencantumkan beberapa peningkatan dan fitur penting yang diperluas dalam versi Laravel 5.8 yang baru.
Beberapa fitur dapat dengan lancar diintegrasikan ke dalam situs web agar lebih fungsional dan ramah pengguna.
Untuk memutakhirkan aplikasi Anda yang sedang berjalan ke Laravel versi 5.8 , Anda dapat melihat panduan pemutakhiran dan catatan rilis di situs resminya.
