Oke, berikut adalah artikel SEO dengan keyword “Laravel Tutorial: Belajar Framework Laravel dari Nol” yang ditulis dalam bahasa Indonesia dengan gaya percakapan dan struktur yang dioptimalkan untuk SEO.
Halo, para developer! Pernah dengar tentang Laravel? Atau mungkin sedang mencari cara belajar framework Laravel dari nol? Nah, kamu berada di tempat yang tepat! Laravel adalah framework PHP yang powerful dan elegan, yang bisa bikin pengembangan web jadi lebih cepat, terstruktur, dan menyenangkan. Di tutorial ini, kita akan membahas semuanya, mulai dari dasar banget sampai kamu bisa bikin aplikasi web sederhana menggunakan Laravel. Siap? Yuk, kita mulai!
1. Apa Itu Laravel dan Kenapa Harus Belajar? (Pengantar Laravel)
Sebelum kita mulai menyelam lebih dalam, mari kita pahami dulu apa itu Laravel dan kenapa framework ini begitu populer di kalangan developer. Laravel adalah sebuah framework PHP open-source yang dirancang untuk membuat aplikasi web modern dengan sintaks yang bersih dan elegan. Dibuat oleh Taylor Otwell, Laravel mengikuti pola desain Model-View-Controller (MVC), yang membantu memisahkan logika aplikasi, tampilan, dan data.
Kenapa Harus Belajar Laravel?
- Mempermudah dan Mempercepat Pengembangan: Laravel menyediakan banyak fitur bawaan seperti routing, templating engine, database migrations, authentication, dan masih banyak lagi. Ini semua akan memangkas waktu pengembangan dan membuat kode kamu lebih terstruktur.
- Keamanan: Laravel memiliki fitur keamanan yang kuat, termasuk perlindungan terhadap Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF), dan SQL injection.
- Komunitas yang Besar: Laravel memiliki komunitas developer yang sangat aktif dan suportif. Kamu akan mudah menemukan bantuan, tutorial, dan package yang bisa kamu gunakan untuk proyekmu.
- Ekosistem yang Kaya: Ada banyak package dan library yang tersedia untuk Laravel, yang bisa kamu gunakan untuk menambahkan fungsionalitas tambahan ke aplikasi kamu. Contohnya, untuk manajemen paket kita bisa menggunakan Composer (kita bahas nanti ya).
- Job Market yang Luas: Permintaan akan developer Laravel terus meningkat. Mempelajari Laravel bisa membuka peluang karir yang lebih baik untukmu.
Singkatnya, belajar framework Laravel dari nol adalah investasi yang bagus untuk masa depanmu sebagai seorang web developer.
2. Persiapan Awal: Instalasi dan Konfigurasi Dasar Laravel
Sebelum kita mulai ngoding, ada beberapa hal yang perlu kita persiapkan. Kita perlu memastikan komputer kita sudah memiliki software yang dibutuhkan, dan kita akan menginstal Laravel. Jangan khawatir, prosesnya nggak rumit kok!
Persyaratan Sistem:
- PHP: Laravel membutuhkan PHP versi 7.4 ke atas. Pastikan PHP sudah terinstal di komputermu.
- Composer: Composer adalah dependency manager untuk PHP. Kita akan menggunakannya untuk menginstal Laravel dan package lainnya. Download Composer dari https://getcomposer.org/ dan instal.
- Database: Laravel mendukung berbagai jenis database, seperti MySQL, PostgreSQL, SQLite, dan SQL Server. Pilih salah satu yang kamu suka dan pastikan sudah terinstal dan berjalan di komputermu.
- Web Server: Kamu bisa menggunakan Apache atau Nginx sebagai web server. Kalau kamu baru mulai, XAMPP atau Laragon adalah pilihan yang bagus karena sudah menyertakan Apache, PHP, dan MySQL dalam satu paket.
Instalasi Laravel:
Ada beberapa cara untuk menginstal Laravel. Salah satu cara yang paling umum adalah menggunakan Composer:
-
Buka command prompt atau terminal.
-
Arahkan ke direktori tempat kamu ingin menyimpan proyek Laravel.
-
Jalankan perintah berikut:
composer create-project laravel/laravel nama-proyek
Ganti
nama-proyek
dengan nama proyek yang kamu inginkan. -
Tunggu sampai proses instalasi selesai.
Setelah instalasi selesai, masuk ke direktori proyek:
cd nama-proyek
Konfigurasi Dasar:
Setelah instalasi selesai, kita perlu melakukan beberapa konfigurasi dasar.
-
Konfigurasi Database: Buka file
.env
di direktori proyekmu. Cari bagian yang mengatur konfigurasi database dan sesuaikan dengan pengaturan database kamu:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=nama_database DB_USERNAME=nama_pengguna DB_PASSWORD=kata_sandi
Ganti
nama_database
,nama_pengguna
, dankata_sandi
dengan informasi yang sesuai. -
Generate Application Key: Jalankan perintah berikut di terminal:
php artisan key:generate
Perintah ini akan menghasilkan application key yang unik untuk aplikasi kamu.
-
Menjalankan Server Development: Untuk menjalankan aplikasi Laravel, jalankan perintah berikut:
php artisan serve
Buka browser dan kunjungi
http://localhost:8000
. Kamu seharusnya melihat halaman welcome Laravel.
Selamat! Kamu sudah berhasil menginstal dan mengkonfigurasi Laravel. Sekarang, mari kita lanjutkan ke bagian berikutnya.
3. Memahami Routing di Laravel (Mengelola URL Aplikasi)
Routing adalah proses memetakan URL ke controller yang sesuai. Di Laravel, routing didefinisikan di file routes/web.php
. File ini berisi semua route yang mengatur bagaimana aplikasi kamu merespon permintaan HTTP.
Dasar-Dasar Routing:
-
GET Route: Digunakan untuk mengambil data.
Route::get('/halo', function () { return 'Halo Dunia!'; });
Kode di atas akan merespon permintaan GET ke URL
/halo
dengan pesan “Halo Dunia!”. -
POST Route: Digunakan untuk mengirim data.
Route::post('/simpan', 'AppHttpControllersUserController@store');
Kode di atas akan merespon permintaan POST ke URL
/simpan
dengan memanggil methodstore
di controllerUserController
. -
PUT/PATCH Route: Digunakan untuk memperbarui data.
-
DELETE Route: Digunakan untuk menghapus data.
-
Resource Route: Membuat beberapa route sekaligus untuk operasi CRUD (Create, Read, Update, Delete) pada sebuah resource.
Route::resource('users', 'AppHttpControllersUserController');
Kode di atas akan membuat route untuk
/users
,/users/create
,/users/{user}
,/users/{user}/edit
, dan seterusnya.
Route Parameters:
Kamu juga bisa menggunakan route parameters untuk menangkap nilai dari URL.
Route::get('/users/{id}', function ($id) {
return 'User ID: ' . $id;
});
Kode di atas akan menangkap nilai {id}
dari URL dan meneruskannya sebagai argumen ke closure (fungsi tanpa nama).
Route Grouping:
Kamu bisa mengelompokkan route untuk menerapkan middleware, namespace, atau prefix yang sama.
Route::middleware(['auth'])->group(function () {
Route::get('/dashboard', function () {
return view('dashboard');
});
Route::get('/profile', function () {
return view('profile');
});
});
Kode di atas akan menerapkan middleware auth
ke semua route di dalam grup. Artinya, pengguna harus terautentikasi sebelum bisa mengakses route tersebut.
Dengan memahami routing di Laravel, kamu bisa mengatur bagaimana aplikasi kamu merespon permintaan HTTP dan mengelola URL aplikasi dengan lebih baik.
4. Bekerja dengan Blade Templating Engine (Membuat Tampilan Dinamis)
Blade adalah templating engine bawaan Laravel yang memungkinkan kamu membuat tampilan dinamis dengan sintaks yang sederhana dan elegan. Blade menggunakan ekstensi .blade.php
untuk file template.
Dasar-Dasar Blade:
-
Menampilkan Variabel: Kamu bisa menampilkan variabel dengan menggunakan sintaks
{{ $variable }}
.<h1>Selamat Datang, {{ $nama }}!</h1>
-
Kondisi: Kamu bisa menggunakan direktif
@if
,@elseif
, dan@else
untuk membuat kondisi.@if ($nilai > 10) <p>Nilai lebih besar dari 10.</p> @else <p>Nilai kurang dari atau sama dengan 10.</p> @endif
-
Perulangan: Kamu bisa menggunakan direktif
@foreach
untuk membuat perulangan.<ul> @foreach ($users as $user) <li>{{ $user->name }}</li> @endforeach </ul>
-
Layouts: Kamu bisa membuat layout untuk digunakan kembali di beberapa template.
resources/views/layouts/app.blade.php:
<!DOCTYPE html> <html> <head> <title>@yield('title')</title> </head> <body> @yield('content') </body> </html>
resources/views/halaman.blade.php:
@extends('layouts.app') @section('title', 'Judul Halaman') @section('content') <h1>Isi Halaman</h1> <p>Ini adalah isi halaman.</p> @endsection
Direktif
@extends
digunakan untuk mewarisi layout. Direktif@section
digunakan untuk mendefinisikan bagian yang akan diisi di layout. Direktif@yield
digunakan untuk menampilkan bagian yang didefinisikan di template.
Dengan Blade, kamu bisa membuat tampilan dinamis yang interaktif dan mudah dikelola.
5. Interaksi dengan Database: Eloquent ORM (Mengelola Data Aplikasi)
Eloquent ORM adalah Object-Relational Mapper bawaan Laravel yang memudahkan kamu berinteraksi dengan database. Dengan Eloquent, kamu bisa membuat, membaca, memperbarui, dan menghapus data (CRUD) dengan menggunakan objek PHP, tanpa perlu menulis query SQL secara manual.
Dasar-Dasar Eloquent:
-
Model: Model merepresentasikan sebuah tabel di database. Untuk membuat model, jalankan perintah berikut di terminal:
php artisan make:model User
Perintah ini akan membuat file
AppModelsUser.php
. -
Migrasi: Migrasi digunakan untuk membuat dan memodifikasi struktur database. Untuk membuat migrasi, jalankan perintah berikut:
php artisan make:migration create_users_table
Perintah ini akan membuat file migrasi di direktori
database/migrations
. Buka file migrasi tersebut dan definisikan struktur tabelusers
:<?php use IlluminateDatabaseMigrationsMigration; use IlluminateDatabaseSchemaBlueprint; use IlluminateSupportFacadesSchema; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } }
Untuk menjalankan migrasi, jalankan perintah berikut:
php artisan migrate
-
CRUD dengan Eloquent:
-
Create: Membuat data baru.
$user = new AppModelsUser; $user->name = 'John Doe'; $user->email = '[email protected]'; $user->password = bcrypt('password'); $user->save();
-
Read: Membaca data.
$users = AppModelsUser::all(); // Mengambil semua data $user = AppModelsUser::find(1); // Mengambil data berdasarkan ID $users = AppModelsUser::where('name', 'John Doe')->get(); // Mengambil data berdasarkan kondisi
-
Update: Memperbarui data.
$user = AppModelsUser::find(1); $user->name = 'Jane Doe'; $user->save();
-
Delete: Menghapus data.
$user = AppModelsUser::find(1); $user->delete();
-
Dengan Eloquent ORM, kamu bisa berinteraksi dengan database secara efisien dan aman.
6. Authentication dan Authorization (Mengamankan Aplikasi)
Keamanan adalah aspek penting dalam pengembangan aplikasi web. Laravel menyediakan fitur authentication dan authorization yang memudahkan kamu mengamankan aplikasi kamu.
Authentication:
Authentication adalah proses memverifikasi identitas pengguna. Laravel menyediakan scaffolding untuk authentication yang bisa kamu gunakan untuk membuat halaman login, register, dan reset password.
Untuk mengaktifkan authentication scaffolding, jalankan perintah berikut:
composer require laravel/ui
php artisan ui vue --auth // Atau php artisan ui react --auth atau php artisan ui bootstrap --auth
npm install
npm run dev
Perintah ini akan membuat view dan controller yang diperlukan untuk authentication. Kamu juga perlu menjalankan migrasi untuk membuat tabel users
:
php artisan migrate
Setelah itu, kamu bisa mengakses halaman login dan register melalui URL /login
dan /register
.
Authorization:
Authorization adalah proses menentukan apa yang boleh dan tidak boleh dilakukan oleh pengguna yang sudah terautentikasi. Laravel menyediakan beberapa cara untuk mengatur authorization:
- Policies: Policies adalah kelas yang menentukan apakah seorang pengguna memiliki izin untuk melakukan tindakan tertentu pada sebuah model.
- Gates: Gates adalah closure yang menentukan apakah seorang pengguna memiliki izin untuk melakukan tindakan tertentu.
Contoh penggunaan policy:
-
Buat policy untuk model
Post
:php artisan make:policy PostPolicy --model=Post
Perintah ini akan membuat file
AppPoliciesPostPolicy.php
. -
Definisikan method
update
di PostPolicy untuk menentukan apakah seorang pengguna boleh memperbarui sebuah post:<?php namespace AppPolicies; use AppModelsUser; use AppModelsPost; use IlluminateAuthAccessHandlesAuthorization; class PostPolicy { use HandlesAuthorization; /** * Determine whether the user can update the model. * * @param AppModelsUser $user * @param AppModelsPost $post * @return IlluminateAuthAccessResponse|bool */ public function update(User $user, Post $post) { return $user->id === $post->user_id; } }
Kode di atas akan mengizinkan pengguna untuk memperbarui post hanya jika ID pengguna sama dengan ID pengguna yang membuat post.
-
Gunakan policy di controller:
public function update(Request $request, Post $post) { $this->authorize('update', $post); // Lanjutkan dengan proses update }
Method
authorize
akan memeriksa apakah pengguna memiliki izin untuk memperbarui post. Jika tidak, akan dilempar exceptionAuthorizationException
.
Dengan authentication dan authorization, kamu bisa mengamankan aplikasi kamu dari akses yang tidak sah.
7. Middleware Laravel: Mengelola Permintaan HTTP (Filter Permintaan)
Middleware adalah lapisan kode yang berjalan sebelum atau sesudah sebuah request ditangani oleh aplikasi kamu. Middleware sering digunakan untuk melakukan tugas-tugas seperti authentication, logging, modifikasi header, dan lainnya.
Cara Kerja Middleware:
Middleware bekerja seperti filter yang melewati setiap permintaan HTTP yang masuk. Kamu bisa menggunakan middleware untuk memodifikasi request sebelum diteruskan ke controller, atau memodifikasi response sebelum dikirim kembali ke browser.
Contoh Penggunaan Middleware:
Misalnya, kamu ingin membuat middleware yang memeriksa apakah pengguna sudah terautentikasi sebelum mengakses route tertentu.
-
Buat middleware:
php artisan make:middleware EnsureUserIsAuthenticated
Perintah ini akan membuat file
AppHttpMiddlewareEnsureUserIsAuthenticated.php
. -
Implementasikan middleware:
<?php namespace AppHttpMiddleware; use Closure; use IlluminateSupportFacadesAuth; class EnsureUserIsAuthenticated { /** * Handle an incoming request. * * @param IlluminateHttpRequest $request * @param Closure $next * @return mixed */ public function handle($request, Closure $next) { if (!Auth::check()) { return redirect('login'); } return $next($request); } }
Kode di atas akan memeriksa apakah pengguna sudah terautentikasi. Jika belum, akan diarahkan ke halaman login.
-
Daftarkan middleware di
app/Http/Kernel.php
:-
Global Middleware: Middleware yang akan dijalankan pada setiap request. Tambahkan ke array
$middleware
:protected $middleware = [ // ... AppHttpMiddlewareEnsureUserIsAuthenticated::class, ];
-
Route Middleware: Middleware yang hanya dijalankan pada route tertentu. Tambahkan ke array
$routeMiddleware
:protected $routeMiddleware = [ 'auth' => AppHttpMiddlewareEnsureUserIsAuthenticated::class, ];
-
-
Gunakan middleware pada route:
Route::get('/dashboard', function () { return view('dashboard'); })->middleware('auth');
Dengan middleware, kamu bisa mengelola permintaan HTTP dengan lebih fleksibel dan terstruktur.
8. Menggunakan Package dan Library di Laravel (Ekosistem Laravel)
Salah satu kelebihan Laravel adalah ekosistemnya yang kaya akan package dan library. Ada banyak package yang tersedia untuk berbagai keperluan, seperti authentication, authorization, image manipulation, payment gateway, dan masih banyak lagi.
Cara Menggunakan Package:
-
Cari Package: Cari package yang kamu butuhkan di https://packagist.org/.
-
Instal Package: Instal package menggunakan Composer. Misalnya, untuk menginstal package
intervention/image
, jalankan perintah berikut:composer require intervention/image
-
Konfigurasi Package: Beberapa package mungkin memerlukan konfigurasi tambahan. Ikuti instruksi yang diberikan oleh package tersebut.
-
Gunakan Package: Setelah diinstal dan dikonfigurasi, kamu bisa menggunakan package di aplikasi kamu.
Contoh Penggunaan Package:
Misalnya, kamu ingin menggunakan package intervention/image
untuk mengubah ukuran gambar.
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use InterventionImageFacadesImage;
class ImageController extends Controller
{
public function resizeImage(Request $request)
{
$image = $request->file('image');
$filename = time() . '.' . $image->getClientOriginalExtension();
$image_resize = Image::make($image->getRealPath());
$image_resize->resize(300, 300);
$image_resize->save(public_path('images/' . $filename));
return 'Gambar berhasil diubah ukurannya.';
}
}
Dengan package dan library, kamu bisa menambahkan fungsionalitas tambahan ke aplikasi kamu dengan mudah dan cepat.
9. Testing di Laravel: Memastikan Kualitas Kode (Unit Testing)
Testing adalah bagian penting dalam pengembangan software. Dengan testing, kamu bisa memastikan bahwa kode kamu berfungsi dengan benar dan bebas dari bug. Laravel menyediakan dukungan yang kuat untuk testing, termasuk unit testing, feature testing, dan integration testing.
Dasar-Dasar Testing:
- Unit Testing: Menguji unit kode terkecil, seperti method atau function.
- Feature Testing: Menguji fitur aplikasi dari sudut pandang pengguna.
- Integration Testing: Menguji interaksi antara beberapa unit kode atau modul.
Cara Membuat Unit Test:
-
Buat test class:
php artisan make:test ExampleTest
Perintah ini akan membuat file
tests/Unit/ExampleTest.php
. -
Implementasikan test method:
<?php namespace TestsUnit; use PHPUnitFrameworkTestCase; class ExampleTest extends TestCase { /** * A basic test example. * * @return void */ public function testBasicTest() { $this->assertTrue(true); } }
Kode di atas adalah contoh test method yang sederhana. Method
assertTrue
akan memeriksa apakah nilai yang diberikan adalahtrue
. -
Jalankan test:
php artisan test
Perintah ini akan menjalankan semua test di aplikasi kamu.
Contoh Unit Test untuk Model:
Misalnya, kamu ingin menguji model User
.
<?php
namespace TestsUnit;
use AppModelsUser;
use IlluminateFoundationTestingRefreshDatabase;
use TestsTestCase;
class UserTest extends TestCase
{
use RefreshDatabase;
/**
* Test that a user can be created.
*
* @return void
*/
public function testUserCanBeCreated()
{
$user = User::create([
'name' => 'John Doe',
'email' => '[email protected]',
'password' => bcrypt('password'),
]);
$this->assertDatabaseHas('users', [
'email' => '[email protected]',
]);
}
}
Kode di atas akan membuat pengguna baru dan memeriksa apakah pengguna tersebut berhasil disimpan di database.
Dengan testing, kamu bisa memastikan bahwa kode kamu berfungsi dengan benar dan bebas dari bug. Ini sangat penting untuk menjaga kualitas aplikasi kamu.
10. Deployment: Menerbitkan Aplikasi Laravel ke Server (Hosting)
Setelah aplikasi kamu selesai dikembangkan dan diuji, langkah selanjutnya adalah deployment, yaitu menerbitkan aplikasi kamu ke server agar bisa diakses oleh pengguna. Ada banyak pilihan hosting yang tersedia untuk aplikasi Laravel, seperti shared hosting, VPS, dan cloud hosting.
Langkah-Langkah Deployment:
- Konfigurasi Server: Pastikan server kamu sudah memenuhi persyaratan sistem Laravel.
- Upload Kode: Upload kode aplikasi kamu ke server. Kamu bisa menggunakan FTP, SSH, atau Git.
- Instal Dependencies: Jalankan perintah
composer install
di server untuk menginstal semua dependencies. - Konfigurasi Database: Konfigurasi koneksi database di file
.env
di server. - Generate Application Key: Jalankan perintah
php artisan key:generate
di server. - Migrate Database: Jalankan perintah
php artisan migrate
di server untuk membuat tabel database. - Konfigurasi Web Server: Konfigurasi web server (Apache atau Nginx) untuk mengarahkan traffic ke direktori
public
aplikasi kamu. - Set Permission: Pastikan direktori
storage
memiliki izin tulis yang benar. - Cache Configuration: Jalankan perintah
php artisan config:cache
danphp artisan route:cache
untuk meningkatkan performa aplikasi.
Contoh Konfigurasi Nginx:
server {
listen 80;
server_name nama_domain.com;
root /path/ke/direktori/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
Ganti nama_domain.com
dengan nama domain kamu, dan /path/ke/direktori/public
dengan path ke direktori public
aplikasi kamu.
Dengan mengikuti langkah-langkah di atas, kamu bisa menerbitkan aplikasi Laravel kamu ke server dengan sukses.
11. Tips dan Trik Laravel: Meningkatkan Produktivitas (Best Practices)
Setelah belajar framework Laravel dari nol, ada beberapa tips dan trik yang bisa kamu gunakan untuk meningkatkan produktivitas dan membuat kode kamu lebih baik:
- Gunakan Artisan Console: Artisan Console adalah command-line interface yang sangat powerful untuk Laravel. Manfaatkan perintah-perintah Artisan untuk membuat model, controller, migrasi, dan task lainnya dengan cepat.
- Gunakan Eloquent ORM: Eloquent ORM memudahkan kamu berinteraksi dengan database. Hindari menulis query SQL secara manual sebisa mungkin.
- Gunakan Blade Templating Engine: Blade memudahkan kamu membuat tampilan dinamis dengan sintaks yang sederhana dan elegan.
- Gunakan Package dan Library: Manfaatkan package dan library yang tersedia untuk menambahkan fungsionalitas tambahan ke aplikasi kamu dengan cepat.
- Tulis Unit Test: Tulis unit test untuk memastikan bahwa kode kamu berfungsi dengan benar dan bebas dari bug.
- Ikuti Standar Kode: Ikuti standar kode PSR (PHP Standards Recommendations) untuk membuat kode kamu lebih konsisten dan mudah dibaca.
- Gunakan Git: Gunakan Git untuk mengelola kode aplikasi kamu. Ini akan memudahkan kamu berkolaborasi dengan developer lain dan melacak perubahan kode.
- Pelajari Dokumentasi: Pelajari dokumentasi Laravel secara mendalam. Dokumentasi Laravel sangat lengkap dan berisi banyak informasi berguna.
- Bergabung dengan Komunitas: Bergabung dengan komunitas Laravel. Kamu bisa mendapatkan bantuan, tips, dan trik dari developer lain.
Dengan mengikuti tips dan trik di atas, kamu bisa menjadi developer Laravel yang lebih produktif dan menghasilkan kode yang berkualitas.
12. Sumber Belajar Laravel Lanjutan (Referensi Belajar)
Setelah kamu belajar framework Laravel dari nol dan memahami dasar-dasarnya, ada banyak sumber belajar yang bisa kamu gunakan untuk meningkatkan kemampuan kamu:
- Dokumentasi Resmi Laravel: https://laravel.com/docs/
- Laracasts: https://laracasts.com/ (Berbayar, tapi sangat berkualitas)
- Laravel News: https://laravel-news.com/
- Medium: Cari artikel tentang Laravel di Medium.
- YouTube: Ada banyak channel YouTube yang membahas tentang Laravel.
Dengan terus belajar dan berlatih, kamu akan menjadi developer Laravel yang handal.
Semoga Laravel Tutorial: Belajar Framework Laravel dari Nol ini bermanfaat untuk kamu! Selamat belajar dan semoga sukses!