Langsung ke konten utama

Apa aja yang baru di framework Laravel v.8








 

 

Laravel Jetsream

Pada laravel 8, laravel menggunakan jetstream untuk scaffoldingnya, tidak lagi bootstrap, vue/react, perubahan ini yang paling terasa karena di versi 8 ini terdapat beberapa tambahan fitur pada login register seperti login, registration, email verification, two-factor authentication, session management, API support via Laravel Sanctum, and optional team management.
Dimana kita dapat memcustmize fitur apa saja yang digunakan, oh iya jetsream dibuat menggunakan tailwind css dan juga memberikan pilihan untuk design nya, apakan menggunakan livewire atau inertia.


Laravel Installer


Untuk laravel 8 laravel installer sekarang menggunakan installer versi 4, jika sebelumnya di laravel 7 menggunakan installer versi 3,xx.
Jadi buat temen-temen bisa update installer nya ke versi 4, dengan perintah :

> composer global update laravel/install

Kemudian jika kalian sudah mengupdate installer laravel, baru kalian bisa membuat project baru dengan laravel 8, dengan perintah : laravel new blog

Atau kalian bisa menggunakan composer untuk membuat projects baru dengan laravel 8(tanpa update installer laravel), dengan perintah : 

> composer create-project --prefer-dist laravel/laravel blog

Direktori Models

Pada laravel 8, terdapat perubahan pada direktori models, jika pada laravel 7, tidak terdapat folder khusus untuk model, yang artinya model di taruh pada luar folder, namun pada laravel 8, dibuat folder khusus untuk model, yang sebenarnya bukan perubahan yang baru sihh, karena versi laravel sebelumnya sudah pernah menggunakan folder model sendiri. Sehingga untuk penulisan penggunaan model, kita menggunakanuse App\Models\Nama_Model;

Model Factory Classes

Jika di versi sebelumnya kita memanggil factory dengan factory(Model::class)->create();
Maka di laravel 8 kita menggunakan sintaxUser::factory()->count(50)->create()
Tentu bukan perubahan besar namun, hal ini membuat lebih simple karena factory berupa class pada laravel 8.

Migration squashing

Pada laravel 8 terdapat perintah untuk menjalankan ratusan file migrasi yang membengkak dengan perintah:

> php artisan schema:dump


Untuk menghapus semua migrasi yang ada kita dapat menjalankan perintah 

> php artisan schema:dump --prune


Job Batching


Pada laravel 8 fitur bus batching lebih mudah dengan perintahBus::batch()

Rate Limiting

Sebenarnya ini merupakan pengembangan dari versi sebelumnya, untuk membatasi request dengan perintahRateLimiter::for('global', function (Request $request) {
return Limit::perMinute(1000);
});

Improvement Maintenance Mode

Ini merupakan salah satu perubahan favorit saya, jadi di laravel 8 ini ketika kita maintenance aplikasi, kita masih dapat mengakses dengan kode rahasiaphp artisan down --secret="rahasia"

Sehingga kita dapat mengakses dengan url :https://laravel8.com/rahasia

Kemudian kita dapat menampilkan view yang ingin kita tampilkan ketika aplikasi kita sedang maintenancephp artisan down --render="errors::maintenance"

Catch Method

Di laravel 8 kita dapat menggunakan method catch yang terbaruuse Throwable;

dispatch(function () use ($podcast) {
$podcast->publish();
})->catch(function (Throwable $e) {
// This job has failed...
});

Kompenen Blade Dinamis

pada laravel 8 kita dapat menggunakan component di blade, dengan begitu kita dapat menggunakan berkali kali. Contoh button<x-button :component="$componentName" class="mt-4" />


Sebenarnya untuk templating blade dapat kita bahas di lain kesempatan karena cukup banyak juga dan fokus kita kali ini adalah perubahan di laravel 8.

Update Event Listener


Kini penulisan syntax untuk menggunakan event listener lebih mudahuse App\Events\PodcastProcessed;
use Illuminate\Support\Facades\Event;

Event::listen(function (PodcastProcessed $event) {
//
});


Time Testing Helpers

Fitur ini terinspirasi dari Ruby on Rails, Untuk testing kita dapat memanipulasi waktu saat ini.public function testTimeCanBeManipulated()
{
// Travel into the future...
$this->travel(5)->milliseconds();
$this->travel(5)->seconds();
$this->travel(5)->minutes();
$this->travel(5)->hours();
$this->travel(5)->days();
$this->travel(5)->weeks();
$this->travel(5)->years();

// Travel into the past...
$this->travel(-5)->hours();

// Travel to an explicit time...
$this->travelTo(now()->subHours(6));

// Return back to the present time...
$this->travelBack();
}

Improve artisan serve

Jika pada versi sebelumnya, ketika kita melakukan perubahan pada file .env, maka kita harus merefresh artisan serve, dengan cara mematikannya terlebih dahulu kemudian memanggil kembali artisan serve.

Namun pada laravel 8 ini, kita tidak perlu melakukan hal tersebut ketika kita melakukan perubahan pada file .env

Pagination view


Karena laravel 8 menggunakan scaffolding jetstream, maka dari itu default file bootstrap dihapus, namun kita masih dapat menggunakannya dengan cara pada file AppServiceProvider ditambahkan sytax berikutpublic function boot()
{
Paginator::useBootstrap();
}

Routing Namespace

Pada laravel 8 terdapat perubahan syntax karena namespace untuk root menjadi null, sehingga penulisan routeuse App\Http\Controllers\UserController;

Route::get('/users', [UserController::class, 'index']);

Kesimpulan : Semoga sampai disini teman - teman bisa paham dan dapat mengimplementasikan fitur - fitur baru di framework laravel v.8 ini.

Komentar

Postingan populer dari blog ini

Pengertian MVC (Model, View & Controller)

  Pengertian MVC MVC adalah sebuah arsitektur perancangan kode program. Tujuannya untuk memecah kode program utama menjadi 3 komponen terpisah dengan tugas yang spesifik. Ketiga komponen tersebut adalah:  1. Model(Pengaksesan database) 2. View(Tampilan design/User Interface) 3. Controller(Alur logika program) Gabungan Model-View-Controller inilah yang disingkat sebagai MVC. Ide awal dari perlunya konsep MVC adalah agar aplikasi yang dibuat bisa mudah dikelola dan dikembangkan, terutama untuk aplikasi besar. Sebagai contoh, seorang web designer bisa fokus merancang bagian View saja, yakni tampilan design website yang terdiri dari kode HTML dan CSS plus sedikit JavaScript. Kode program untuk berkomunikasi dengan database bisa ditangani oleh programmer yang secara khusus bagian Model. Serta programmer lain mengatur alur logika program di bagian Controller. Dengan pemisahan seperti ini, kerja tim menjadi mudah dikelola. Selain itu dengan penerapan konsep MVC yang baik, setiap bag...

Spesifikasi Laptop ASUS X441B

Asus X441BA-GA901T merupakan notebook dengan layar 14.0 Inch (16:9) LED backlit HD (1366x768) 60Hz Glare Panel with 45% NTSC dan dilengkapi dengan sistem operasi Windows 10. Notebook ini dilengkapi dengan prosesor AMD Dual-Core A9-9420 APU (3.00 – 3.60 GHz, 1 MB Cache). Spesifikasi :    -Processor : AMD Dual-Core A9-9420 APU (3.00 – 3.60 GHz, 1 MB Cache) -Kamera : VGA Web Camera -VGA : AMD RadeonTM R5 Graphics -Baterai : 3 Cells 36 Whrs Battery -Fitur : Bluetooth, WiFi, DVD Super Multi, Multi-format card reader (SD/SDHC), 1 -x COMBO audio jack, 1 x VGA port, 1 x Type A USB3.0 (USB3.1 GEN1), 1 x Type -C USB3.0 (USB3.1 GEN1), 1 x USB 2.0 port(s), 1 x RJ45 LAN Jack for LAN insert, 1 x HDMI -Layar : 14.0" (16:9) LED backlit HD (1366x768) 60Hz Glare Panel with 45% NTSC Operation System (OS) : Windows 10   Kesimpulan : Menurut saya ini laptop lumayan worth it untuk dipakai buat programming dan saya sedang menggunakannya sekarang. Akan tetapi ketika ingin men develop android di...

5 Negara Dengan Koneksi Internet Tercepat

1. Australia Koneksi internet di Australia termasuk dalam peringkat 5 dengan koneksi internet tercepat dunia dengan kecepatan 26,25 Mbps. Koneksi wifi cepat dan gratis dapat ditemukan dengan mudah di negara tersebut. Boim sudah membuktikannya sendiri ketika berkunjung ke Australia. Dikabarkan Australia memiliki koneksi wifi gratis yang meliputi daerah Central Business Distric Melbournse seluas 600.000 meter persegi. 2. Singapura Negara tetangga kita Singapura juga termasuk dalam negara dengan koneksi internet tercepat dunia dengan kecepatan 30,05 Mbps. Menurut kabar, Singapura sedang mengembangkan sistem koneksi 5G untuk kecepatan jaringan internet. Kabar dari teknologi ini sudah banyak tersebar sejak tahun 2014 lalu. 3. Korea Selatan Posisi teratas ternyata ditempati oleh Korea Selatan dengan kecepatan 37,5 Mbps. Saking kencangnya kecepatan koneksi internet ini, untuk mengunduh data sebesar 5 gb, pengguna hanya membutuhkan waktu sekitar 2,5 menit saja. Hal ini dipengaruhi juga oleh k...