Memahami Struktur Folder Laravel bagi Pemula
Tags: webdev, laravel
Published: 2024-04-19 00:00:00

**Hai, Sobat Risereaders!**

Pernahkah kamu merasa bingung dengan struktur folder Laravel yang kompleks? Tenang, setelah kemarin kita berhasil [menginstal Laravel](https://blog.riseku.com/panduan-cara-instal-laravel-di-linux/).

Sekarang saatnya kita akan mempelajari struktur folder Laravel secara detail dan memahami fungsinya.

## Apa Itu Struktur Folder Laravel?

Struktur folder dalam [Laravel](https://blog.riseku.com/mengenal-laravel/) adalah susunan default file dan direktori yang disusun secara teratur untuk memfasilitasi pengembangan aplikasi web.

Struktur folder Laravel dirancang dengan baik untuk memfasilitasi pengembangan yang terstruktur, pemeliharaan yang mudah, serta peningkatan produktivitas _developer_.

Dengan demikian, struktur folder Laravel menjadi kerangka penting dalam membangun aplikasi web yang stabil dan mudah dikelola.

## Struktur Folder Laravel

1. **app/**

    Folder ini merupakan jantung dari aplikasi Laravel. Di sini kita akan menemukan semua kode PHP aplikasi, termasuk:

    `Models`: Model mewakili data aplikasi dan berinteraksi dengan *database*. Model Eloquent Laravel menyediakan berbagai fitur untuk mempermudah operasi CRUD (*Create, Read, Update, Delete*).

    `Controllers`: *Controller* menangani permintaan HTTP dan menghasilkan respon.

    `Providers`: Provider menyediakan layanan dan fungsionalitas untuk aplikasi. *Service Providers* dan *Event Providers* termasuk dalam kategori ini.

    `Events`: *Event* memungkinkan komunikasi antar bagian aplikasi. Kita dapat menemukan event yang dipicu dan *listeners* yang menanganinya di sini.

    `Exceptions`: *Exception* menangani kesalahan dan pengecualian yang terjadi di aplikasi. *Exception Handlers* dan *Custom Exceptions* dapat ditemukan di sini.

    `Console`: *Command-line tools* untuk membantu pengembangan aplikasi. Artisan *Commands* dan *Custom Commands* tersedia di sini.

2. **bootstrap/**

    Folder ini berisi file bootstrap Laravel, yang memuat *framework* dan memulai aplikasi. File `app.php` dan `bootstrap.php` merupakan file penting di sini.

3. **config/**

    Folder ini berisi file konfigurasi untuk berbagai aspek aplikasi, seperti *database*, *cache*, *routing*, dan lainnya.

4. **database/**

    Folder ini berisi file *database*, seperti *migration* dan *seeders*. Migration digunakan untuk mengubah struktur *database*, sedangkan seeders digunakan untuk mengisi database dengan data awal.

5. **public/**

    Folder ini berisi file yang dapat diakses publik, seperti gambar, CSS, JavaScript, dan favicon. File `index.php` yang merupakan `entry point` aplikasi juga terletak di sini.

6. **resources/**

    Folder ini berisi file sumber daya aplikasi, seperti:

    `Views`: *View* berisi template Blade untuk tampilan aplikasi.
    `Lang`: File bahasa untuk aplikasi. Mendukung aplikasi multi-bahasa dengan mudah.
    `Assets`: File statis seperti gambar, CSS, dan JavaScript. Kita juga dapat menyimpan file SCSS, fonts, dan images di sini.

7. **routes/**

    Folder ini berisi file *route* yang menentukan URL aplikasi dan *controller* yang menanganinya.

8. **storage/**

    Folder ini berisi file yang disimpan aplikasi, seperti *log*, *cache*, file yang diunggah, dan *session*.

9. **tests/**

    Folder ini berisi file tes untuk aplikasi, seperti *unit tests*, *feature tests*, dan *integration tests*.

10. . **vendor/**

    Folder ini berisi *library* dan *dependency* yang digunakan oleh Laravel. Composer mengelola library dan dependency ini.

## Kesimpulan

Struktur folder Laravel yang disusun dengan baik membantu dalam pengembangan aplikasi web yang terstruktur dan mudah dikelola.

Memahami struktur ini adalah langkah penting bagi pengembang Laravel pemula untuk belajar _framework_ Laravel.

Dengan memahami peran dan fungsi masing-masing direktori, kita dapat membangun aplikasi web Laravel dengan lebih efisien dan efektif.