Struktur Laravel Dijelaskan Detail: Kenali Fungsi Setiap Folder dan Alurnya
Kalau baru masuk ke dunia Laravel, biasanya yang bikin bingung bukan sintaks, tapi “struktur project-nya”. Banyak folder, banyak file, dan kelihatan kompleks.
Padahal kalau dipahami pelan-pelan, semuanya punya peran yang jelas. Laravel itu rapi banget secara arsitektur, karena dia mengikuti pola MVC (Model-View-Controller).
Di sini kita kupas struktur Laravel dengan cara yang lebih masuk akal, bukan sekadar hafalan folder.
Kenalan dengan Struktur Laravel (Biar Nggak Bingung Lagi)
Bayangin project Laravel itu seperti sebuah sistem kerja tim:
- Ada yang ngurus data
- Ada yang ngurus tampilan
- Ada yang jadi penghubung
Nah, itu inti dari MVC.
1. Folder app/ → Otaknya Aplikasi
Ini pusat logika utama.
Di dalamnya ada beberapa bagian penting:
app/Http/Controllers
Di sinilah semua request dari user diproses.
Contoh:
- User buka halaman → masuk ke controller
- Controller ambil data → kirim ke view
Jadi controller itu seperti “manajer”.
app/Models
Tempat kamu berinteraksi dengan database.
Misalnya:
- Ambil data buku
- Simpan data user
- Update informasi
Kalau kamu pernah pakai query SQL, di sini semuanya dibungkus jadi lebih rapi pakai Eloquent ORM.
app/Http/Middleware
Ini semacam “satpam”.
Fungsinya:
- Cek apakah user sudah login
- Blokir akses tertentu
- Filter request
2. Folder resources/ → Tampilan (View)
Di sinilah bagian yang dilihat user.
resources/views
Berisi file:
.blade.php
Blade itu template engine Laravel.
Contoh:
{{ $judul }}
Blade memudahkan kamu gabungin HTML + logic tanpa ribet.
3. Folder routes/ → Jalur Navigasi
Kalau Laravel itu kota, routes adalah jalannya.
File penting:
web.php
Contoh:
Route::get('/buku', [BukuController::class, 'index']);
Artinya:
- Ketika user buka
/buku - Laravel panggil controller tertentu
4. Folder database/ → Urusan Database
Berisi semua yang berkaitan dengan struktur data.
migrations/
Ini seperti “blueprint” database.
Daripada bikin tabel manual di phpMyAdmin, kamu bisa pakai migration:
Schema::create('buku', function (Blueprint $table) {
$table->id();
$table->string('judul');
});
seeders/
Untuk isi data awal.
Misalnya:
- Data dummy
- Data default
5. Folder public/ → Pintu Masuk
Ini folder yang diakses browser.
File penting:
index.php
Semua request dari user masuk lewat sini.
Selain itu:
- Tempat file CSS, JS, gambar
6. Folder config/ → Pengaturan Sistem
Semua konfigurasi ada di sini.
Contoh:
- Database
- App name
File penting:
app.phpdatabase.php
7. Folder vendor/ → Library dari Composer
Ini berisi semua dependency.
Isinya:
- Package Laravel
- Library tambahan
⚠️ Jangan diubah manual
Karena ini di-generate otomatis oleh Composer
8. Folder storage/ → Penyimpanan Internal
Untuk:
- Log error
- Cache
- File upload
Biasanya tidak diakses langsung oleh user.
9. Folder bootstrap/ → Proses Awal Laravel
Di sinilah Laravel pertama kali dijalankan.
File penting:
app.php
Ini yang “menyalakan” seluruh sistem Laravel.
Alur Kerja Laravel
Kalau diringkas, alurnya seperti ini:
- User buka website
- Masuk ke
public/index.php - Masuk ke
routes/web.php - Diteruskan ke Controller
- Controller ambil data dari Model
- Data dikirim ke View
- Ditampilkan ke user
Kalau dipahami ini, kamu sudah ngerti 70% cara kerja Laravel.
Kenapa Struktur Laravel Dibuat Seperti Ini?
Tujuannya bukan biar ribet, tapi:
- Kode lebih rapi
- Mudah dikembangkan
- Tim bisa kerja bareng tanpa tabrakan
Bayangin kalau semua file dicampur jadi satu, pasti chaos.
Tips Biar Cepat Paham
Kalau kamu lagi belajar Laravel:
- Fokus dulu ke 3 hal:
- routes
- controller
- view
- Setelah itu baru:
- model
- migration
Jangan langsung loncat ke semua folder, nanti malah overload.
Penutup
Struktur Laravel memang kelihatan banyak di awal, tapi sebenarnya sangat terorganisir.
Begitu kamu paham peran tiap folder:
semuanya jadi terasa “masuk akal”, bukan sekadar hafalan