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 terdaftar
  • php artisan migrate:fresh – Mengulang migrasi database dari awal
  • php 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.

×