Struktur Folder Laravel 12: Panduan Lengkap #4

image_pdfimage_print

Laravel 12 adalah versi terbaru dari framework Laravel yang semakin menyempurnakan arsitektur MVC (Model-View-Controller) untuk membangun aplikasi web yang scalable dan maintainable. Salah satu keunggulan utama Laravel adalah struktur foldernya yang terorganisir dengan baik, memungkinkan pengembang untuk mengelola kode dengan lebih efisien.

Dalam artikel ini, kita akan membahas secara rinci struktur folder pada Laravel 12, memahami fungsinya masing-masing, serta bagaimana folder-folder tersebut digunakan dalam proses pengembangan aplikasi.

1. Direktori Root Laravel 12

Ketika Anda mengunduh dan menginstal Laravel 12, Anda akan melihat beberapa folder dan file utama di dalam proyek Anda. Struktur folder utama Laravel 12 terdiri dari beberapa bagian penting:

/project-root
│── app/
│── bootstrap/
│── config/
│── database/
│── lang/
│── public/
│── resources/
│── routes/
│── storage/
│── tests/
│── vendor/
│── artisan
│── composer.json
│── package.json
│── .env

Mari kita bahas setiap folder satu per satu.

2. Folder app/

Folder app/ berisi semua logika bisnis aplikasi, termasuk model, controller, middleware, dan layanan lainnya. Di dalamnya terdapat beberapa sub-folder utama:

  • Console/ – Berisi perintah artisan kustom yang dapat Anda buat sendiri.
  • Exceptions/ – Tempat untuk menangani exception kustom dan error handling.
  • Http/ – Folder ini berisi komponen utama aplikasi seperti Controller, Middleware, dan Request.
    • Controllers/ – Tempat menyimpan semua controller.
    • Middleware/ – Berisi middleware untuk mengatur request sebelum masuk ke aplikasi.
    • Requests/ – Berisi validasi request kustom.
  • Models/ – Folder untuk menyimpan model-model yang berinteraksi dengan database.
  • Providers/ – Berisi service provider untuk konfigurasi global aplikasi.

3. Folder bootstrap/

Folder ini berisi file yang digunakan Laravel untuk bootstrap framework dan menginisialisasi aplikasi. Yang paling penting di dalamnya adalah:

  • cache/ – Berisi file cache untuk meningkatkan performa aplikasi.
  • app.php – File utama yang digunakan untuk mem-boostrap Laravel.

4. Folder config/

Folder config/ menyimpan berbagai file konfigurasi aplikasi seperti database, autentikasi, caching, sesi, dan lain-lain. Beberapa file konfigurasi utama di sini meliputi:

  • app.php – Konfigurasi dasar aplikasi.
  • database.php – Konfigurasi database.
  • mail.php – Konfigurasi email.
  • queue.php – Konfigurasi antrian (queue).

5. Folder database/

Folder ini digunakan untuk menyimpan semua yang berkaitan dengan database, termasuk:

  • factories/ – Berisi factory class untuk membuat data dummy.
  • migrations/ – Berisi file migrasi untuk mengelola struktur database.
  • seeders/ – Berisi seeder untuk mengisi database dengan data awal.

6. Folder lang/

Folder ini digunakan untuk menyimpan file terjemahan aplikasi jika ingin mendukung berbagai bahasa. File bahasa disimpan dalam format PHP atau JSON.

7. Folder public/

Folder public/ adalah root akses aplikasi melalui browser dan berisi:

  • index.php – Entry point utama aplikasi Laravel.
  • assets/ – Folder tempat menyimpan file statis seperti CSS, JavaScript, dan gambar.

8. Folder resources/

Folder resources/ menyimpan file sumber daya aplikasi, seperti tampilan Blade, file CSS/JS, dan lain-lain:

  • views/ – Berisi file Blade template untuk tampilan aplikasi.
  • css/ – Berisi file CSS atau framework seperti Tailwind.
  • js/ – Berisi file JavaScript khusus aplikasi.

9. Folder routes/

Folder ini berisi semua rute (routes) aplikasi. Laravel 12 menggunakan beberapa file utama untuk mengatur routing:

  • web.php – Berisi rute untuk aplikasi berbasis web.
  • api.php – Berisi rute API yang tidak memerlukan sesi pengguna.
  • console.php – Berisi perintah CLI kustom yang bisa dibuat dengan Artisan.

10. Folder storage/

Folder ini digunakan untuk menyimpan berbagai file yang diperlukan oleh aplikasi saat runtime:

  • app/ – Tempat menyimpan file yang diunggah pengguna.
  • framework/ – Berisi cache dan sesi aplikasi.
  • logs/ – Menyimpan log aplikasi.

11. Folder tests/

Folder tests/ digunakan untuk menyimpan file uji unit dan fitur aplikasi menggunakan PHPUnit atau Laravel Dusk.

12. Folder vendor/

Folder ini berisi semua dependensi yang diunduh melalui Composer, termasuk Laravel itu sendiri.

13. File Konfigurasi Utama

Selain folder, ada beberapa file penting di root proyek:

  • .env – Berisi variabel lingkungan aplikasi.
  • composer.json – File konfigurasi untuk Composer.
  • package.json – Berisi konfigurasi dependensi npm.
  • artisan – File CLI untuk menjalankan perintah Laravel.

Kesimpulan

Laravel 12 mempertahankan struktur folder yang sistematis dan mudah dipahami, membuat pengembang dapat bekerja lebih efisien. Dengan memahami fungsi setiap folder dan file, Anda bisa mengembangkan aplikasi Laravel dengan lebih baik, mengelola kode dengan rapi, dan meningkatkan skalabilitas proyek Anda.