Apa Itu Laravel dan Kenapa Banyak Digunakan?
Laravel adalah framework PHP modern yang dirancang untuk memudahkan proses pembuatan aplikasi web yang bersih, elegan, dan maintainable. Laravel menawarkan fitur-fitur seperti routing, ORM (Eloquent), templating engine (Blade), dan sistem autentikasi yang terintegrasi.
Laravel mematuhi prinsip MVC (Model-View-Controller) yang memisahkan logika aplikasi dari tampilan dan data, membuat pengembangan lebih terstruktur dan efisien.
Instalasi Laravel dan Menyiapkan Proyek Baru
Untuk menggunakan Laravel, kamu memerlukan PHP, Composer, dan web server lokal seperti XAMPP atau Laragon.
# Instal Laravel menggunakan Composer
composer create-project laravel/laravel nama-proyek
# Masuk ke folder proyek
cd nama-proyek
# Jalankan server bawaan Laravel
php artisan serve
Laravel akan berjalan di http://127.0.0.1:8000
secara default.
Struktur Folder di Laravel
- app/: Berisi logika aplikasi seperti model dan controller
- routes/web.php: Tempat mendefinisikan routing
- resources/views: Berisi file Blade template
- public/: Akses awal aplikasi dan menyimpan asset (gambar, CSS, JS)
- config/: Konfigurasi aplikasi
Membuat Routing dan View Sederhana
Laravel menggunakan file routes/web.php
untuk mengatur URL dan apa yang harus ditampilkan.
// routes/web.php
Route::get('/', function () {
return view('welcome');
});
Route::get('/halo', function () {
return "Halo Laravel!";
});
Mengenal Blade: Templating Engine Laravel
Blade adalah templating engine Laravel yang memungkinkan kita menyisipkan kode PHP ke dalam HTML dengan cara yang rapi dan aman.
// resources/views/halo.blade.php
<html>
<body>
<h1>Halo, {{ $nama }}</h1>
</body>
</html>
Lalu pada route:
Route::get('/sapa', function () {
return view('halo', ['nama' => 'Budi']);
});
Membuat Controller
# Membuat controller baru
php artisan make:controller SapaController
Isi controller:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SapaController extends Controller
{
public function index() {
return view('halo', ['nama' => 'Ani']);
}
}
Tambahkan route-nya:
Route::get('/sapa', [SapaController::class, 'index']);
Mengenal Model dan Database
Laravel menggunakan Eloquent ORM untuk mengakses database secara objektif.
# Membuat model dan migration
php artisan make:model Mahasiswa -m
Di file migration (folder database/migrations
):
public function up()
{
Schema::create('mahasiswas', function (Blueprint $table) {
$table->id();
$table->string('nama');
$table->string('nim');
$table->timestamps();
});
}
Setelah itu jalankan:
php artisan migrate
Menampilkan Data dari Database
use App\Models\Mahasiswa;
Route::get('/data', function () {
$data = Mahasiswa::all();
return view('data', ['mahasiswas' => $data]);
});
Di file Blade resources/views/data.blade.php
:
<ul>
@foreach ($mahasiswas as $mhs)
<li>{{ $mhs->nama }} ({{ $mhs->nim }})</li>
@endforeach
</ul>
Form Input dan Simpan ke Database
// Form input di Blade
<form method="POST" action="/simpan">
@csrf
Nama: <input type="text" name="nama">
NIM: <input type="text" name="nim">
<button type="submit">Simpan</button>
</form>
// Route dan controller
use Illuminate\Http\Request;
use App\Models\Mahasiswa;
Route::post('/simpan', function(Request $request) {
Mahasiswa::create([
'nama' => $request->nama,
'nim' => $request->nim
]);
return redirect('/data');
});
Validasi Form dan Flash Message
Route::post('/simpan', function(Request $request) {
$request->validate([
'nama' => 'required',
'nim' => 'required|numeric'
]);
Mahasiswa::create($request->all());
return redirect('/data')->with('success', 'Data berhasil disimpan');
});
Menampilkan pesan sukses di view:
@if (session('success'))
<p style="color: green">{{ session('success') }}</p>
@endif
Fitur Artisan dan Debugging
Laravel memiliki perintah bantu yang sangat kuat lewat Artisan:
php artisan route:list
– Melihat semua route yang terdaftarphp artisan migrate:fresh
– Mengulang migrasi database dari awalphp artisan make:seeder
– Membuat data dummy
Kesimpulan
Laravel adalah framework yang sangat powerful untuk membangun aplikasi web modern dengan cepat. Dengan fitur yang lengkap, komunitas besar, dan dokumentasi yang baik, Laravel menjadi pilihan utama banyak developer di seluruh dunia.