Laravel adalah salah satu framework PHP yang paling populer digunakan untuk pengembangan aplikasi web. Salah satu keunggulan Laravel adalah struktur foldernya yang rapi dan mudah dipahami, yang membantu pengembang untuk menjaga kode tetap terorganisir. Berikut ini adalah pengenalan singkat mengenai struktur folder pada Laravel.
![]() |
Pengenalan Struktur Folder pada Laravel |
1. Root Directory
Ketika Anda pertama kali membuat proyek Laravel, Anda akan melihat beberapa folder dan file di dalam direktori root proyek. Beberapa yang penting adalah:
- app/: Di sinilah letak sebagian besar kode aplikasi Anda. Folder ini berisi subfolder seperti
Console
,Exceptions
,Http
,Providers
, dan lainnya. - bootstrap/: Berisi file untuk mem-bootstrap aplikasi dan mengatur autoloading.
- config/: Berisi semua file konfigurasi aplikasi.
- database/: Berisi migrasi database, model factory, dan seeder.
- public/: Berisi file yang dapat diakses publik, seperti
index.php
, yang merupakan front controller untuk semua permintaan ke aplikasi Anda. - resources/: Berisi view, file bahasa, dan aset mentah seperti CSS atau JavaScript.
- routes/: Berisi semua file rute untuk aplikasi Anda.
- storage/: Berisi log, cache, dan file lain yang dihasilkan oleh aplikasi.
- tests/: Berisi semua tes unit dan tes fitur untuk aplikasi Anda.
- vendor/: Berisi dependensi Composer yang digunakan oleh aplikasi.
2. app/
Folder app
adalah tempat sebagian besar logika aplikasi berada. Berikut adalah beberapa subfolder penting di dalamnya:
- Console/: Tempat Anda dapat mendefinisikan perintah Artisan khusus.
- Exceptions/: Berisi handler untuk menangani exception.
- Http/: Berisi controller, middleware, dan request. Ini adalah tempat di mana logika aplikasi utama didefinisikan.
- Controllers/: Berisi semua controller aplikasi Anda.
- Middleware/: Berisi middleware aplikasi Anda.
- Requests/: Berisi form request untuk validasi.
- Providers/: Berisi service provider untuk aplikasi Anda. Service provider adalah cara Laravel mem-bootstrap berbagai komponen aplikasi.
3. config/
Folder ini berisi semua file konfigurasi untuk aplikasi Anda. Setiap file di dalam folder ini mengkonfigurasi aspek tertentu dari aplikasi, seperti database (database.php
), mail (mail.php
), dan layanan (services.php
).
4. database/
Di dalam folder ini, Anda akan menemukan:
- migrations/: Berisi semua file migrasi database. Migrasi memungkinkan Anda untuk memodifikasi struktur database dengan cara yang dapat dilacak dan dibagikan.
- factories/: Berisi semua model factory. Factory digunakan untuk membuat model palsu untuk pengujian.
- seeders/: Berisi semua database seeder. Seeder digunakan untuk mengisi database dengan data awal
5. resources/
Folder resources
adalah tempat untuk view, file bahasa, dan aset mentah seperti CSS dan JavaScript:
- views/: Berisi semua view aplikasi Anda, biasanya menggunakan Blade templating engine.
- lang/: Berisi file terjemahan untuk aplikasi Anda.
- sass/ dan js/: Berisi file SASS dan JavaScript mentah yang akan dikompilasi oleh Laravel Mix.
6. routes/
Folder ini berisi semua file rute aplikasi Anda. Laravel menggunakan file yang terpisah untuk berbagai jenis rute:
- web.php: Berisi rute untuk aplikasi web.
- api.php: Berisi rute untuk API.
- console.php: Berisi definisi rute untuk command line.
- channels.php: Berisi definisi rute untuk event broadcasting.
7. storage/
Folder ini berisi file yang dihasilkan oleh aplikasi, termasuk log, cache, dan file lainnya:
- app/: Dapat digunakan untuk menyimpan file yang dihasilkan oleh aplikasi.
- framework/: Berisi cache framework seperti session, cache, dan view yang di-compile.
- logs/: Berisi log aplikasi.
8. tests/
Folder ini berisi tes unit dan fitur untuk aplikasi Anda. Laravel menggunakan PHPUnit untuk testing, dan folder ini berisi semua file tes yang diperlukan.
9. vendor/
Folder ini berisi semua dependensi Composer yang diinstal untuk proyek Anda. Laravel sendiri adalah salah satu dari banyak paket yang akan Anda temukan di sini.
Dokumentasi: https://laravel.com/docs/11.x/structure
Kesimpulan
Struktur folder Laravel yang rapi dan terorganisir membantu pengembang untuk menjaga kode tetap bersih dan mudah dipahami. Memahami struktur folder ini adalah langkah awal yang penting untuk menjadi produktif dengan Laravel. Dengan familiarisasi yang baik terhadap struktur ini, Anda dapat dengan cepat menemukan dan mengelola berbagai bagian aplikasi Anda, memungkinkan Anda untuk fokus pada pengembangan fitur dan penyelesaian masalah.