Tutorial Laravel 8 untuk Pemula [Lengkap] – Laravel 8 memiliki fitur yang sangat menarik untuk kita simak dan ikuti. Dari beberapa ulasan, banyak hal baru yang membuat kita dimanjakan oleh Laravel 8.
Saya akan memberikan ulasan singkat tentang fitur baru apa saja yang ada di Laravel 8, yaitu:
- Laravel Jetstream
- Model Factory
- Routing
- Rate Limit
- Maintenance Mode
- Peningkatan Artisan Serve
- Tailwind CSS
- Time Testing
- Dll
Mungkin sekarang kamu penasaran dan ingin mencobanya, kan?
Tapi sebelum itu, kamu perlu simak dulu sistem requirement dari Laravel 8 ini. Pastikan perangkat kamu sudah mendukungnya, di antaranya:
- Min PHP 7.3
- BCMath PHP Extension
- Ctype PHP Extension
- Fileinfo PHP extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
Jadi, PHP 7.2 sudah tidak support Laravel 8 lagi. Kalau kamu masih menggunakan PHP 7.2, segeralah upgrade dan nikmati fitur baru Laravel 8 ini.
Untuk extension lainnya, kamu bisa buka php.ini
dan aktifkan hal-hal yang diperlukan seperti list di atas.
Silahkan buka filenya dan uncomment hal-hal yang Laravel 8 butuhkan supaya tidak terjadi kendala saat development.
Begitu juga saat kamu memutuskan untuk upload ke hosting / server, pastikan sudah support semuanya.
Oke?
Kita Mulai Dari Mana?
Pertama-tama, kamu harus sudah menginstall composer. Jika belum, silahkan download composer di sini.
Kemudian cek hasil install composer dengan ketik composer
di terminal / cmd.
Kedua, mari kita download Laravel 8.
Ada 2 cara untuk mendownload Laravel 8, yaitu.
Cara Ke 1: Via Laravel Installer
Silahkan buka terminal / cmd kamu dan sekarang ketik command berikut ini:
composer global require laravel/installer
Setelah selesai kita bisa membuat project baru Laravel 8 dengan command berikut ini:
laravel new nama_project
Contoh:
laravel new shop
Simak video berikut ini:
Cara Ke 2: Via Composer Create-Project
Cara kedua ini tanpa menggunakan composer global
, cukup ketik:
composer create-project --prefer-dist laravel/laravel shop

Baca Juga: Tutorial Membuat Fitur Auth Sederhana dengan Laravel 7
Belajar Perbedaan Penulisan Routing di Laravel 7 dan 8
Saya tidak membahas secara lengkap fitur-fitur baru pada routing di Laravel 8.
Ada pembahasan lebih lanjut tentang itu di tutorial selanjutnya – insya Allah.
Tapi kali ini saya ingin memberi tahukan hal sederhana saja.
Pada Laravel 7, kita menulis alamat controller masih menggunakan string.
… di Laravel 8 sudah tidak lagi. Untuk membuat route yang diarahkan ke controller kita menggunakan array [].
Contoh Route di Laravel 7:
Route::get('/home', 'HomeController@index');
Contoh Route di Laravel 8:
Route::get('/home', [HomeController::class, 'index']);
Sekarang kita terapkan di project, silahkan buka routes/web.php lalu tambahkan kode di bawah ini:
use App\Http\Controllers\HomeController; Route::get('/home', [HomeController::class, 'index']);
Selesai.
Sementara kita belum membuat controllernya.
Agar route di atas bisa berjalan, mari kita masuk ke tahap controller ya.
Baca Juga: Pengenalan dan Cara Install Laravel Livewire
Belajar Fitur Baru Pada Controller di Laravel 8
Hal baru yang menarik dari Laravel 8 adalah hadirnya Single Action Controller.
Fitur ini memungkinkan kita hanya membuat 1 function saja saat controller di panggil.
Misalnya ProductDetailController
.
Jadi di dalam controller tersebut hanya ada 1 function yang bertugas untuk menangani Product Detail.
Kita bisa menambahkan flag --invokable
saat membuat sebuah single action controller.
Mari kita coba. Ketik command di bawah ini pada project.
php artisan make:controller ProductDetailController --invokable

Jika kita menggunakan invoke, maka di route agak sedikit berbeda, yaitu:
use App\Http\Controllers\ProductDetailController; Route::get('product/{id}', ProductDetailController::class);
Terakhir, silahkan buka app/Http/Controllers
Temukan ProductDetailController.php
Buka filenya dan cobalah mengubah isi function __invoke() menjadi:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ProductDetailController extends Controller { public function __invoke($id = null) { echo "Halaman product detail" } }
Segitu dulu pembahasan controller nya ya. Masih banyak fitur menarik lainnya yang insya Allah di bahas kemudian.
Konsep Baru Penempatan Model di Laravel 8
Saat ini, tutorial laravel 8 belum banyak dalam bahasa Indonesia. Mudah-mudahan ilmucoding akan terus update tutorial Laravel 8 ini ya.
Baca Juga: Tutorial CRUD Menggunakan Laravel 7 dan Vue Js
Sekarang kita bahas model nih.
Memang banyak yang mengatakan Laravel 8 sungguh “terlambat” menempatkan model di dalam folder Models.
Tapi nampaknya Om Taylor menerima masukan dari developers lain.
… now, semua file Model akan ditempatkan di dalam app/Models.
Hore!
Mari kita coba ya.
Kita akan buat model untuk Product.
Seperti biasa pada terminal kita ketik:
php artisan make:model Product --migration

Sekarang silahkan buka direktori app/Models.
… di dalamnya sudah terdapat mode Product.
Mantab!
Belum Ditutup
Kok belum ditutup om?
Iya, maksudnya saya akan meneruskan tutorial Laravel 8 ke depannya – insya Allah. Terus doakan dan beri dukungan saja ya agar terus update tutorial lainnya.
Oke, segitu dulu step by step kali ini.
Semoga bermanfaat.
Aamiin.
mantap pak ditunggu tutor laravel 8 lainnya mau belajar nih
keren..terima kasih, saya behasil belajar controller dr website ini. tahu controller untuk praktik di laravel 8
mantappp, LANJUTKAAAN
lama banget gak megang laravel, terakhir megang dulu waktu masih laravel 5 untuk skripsi kuliah. sampe sekarang terus diperbarui hingga ke versi 8, pas nyobain heheh ambjayy banyak errornya :’v sampailah saya di ilmucoding :v
Alhamdulillah sampai juga ya Mas 🙂