Pada laravel 9 struktur folder bisa dibaca pada dokumentasi yang sudah sisiapkan oleh laravel. Sama hal nya dengan Codeigniter 4, Laravel juga menggunakan konsep MVC (Model, Views dan Controller)
Struktur Folder
Model
Direktori Models berisi semua kelas model Anda. Setiap tabel database memiliki “Model” yang sesuai yang digunakan untuk berinteraksi dengan tabel tersebut. Model memungkinkan Anda untuk membuat kueri data di tabel Anda, serta menyisipkan catatan baru ke dalam tabel.
app/Models
Views
Tentu saja, tidak praktis untuk mengembalikan seluruh string dokumen HTML langsung dari rute dan pengontrol Anda. Untungnya, tampilan menyediakan cara yang nyaman untuk menempatkan semua HTML kami di file terpisah. Tampilan memisahkan logika pengontrol/aplikasi Anda dari logika presentasi Anda dan disimpan di direktori resources/views. Tampilan sederhana mungkin terlihat seperti ini:
resources/views
Controller
Alih-alih mendefinisikan semua logika penanganan permintaan Anda sebagai penutupan dalam file rute Anda, Anda mungkin ingin mengatur perilaku ini menggunakan kelas “pengontrol”. Pengontrol dapat mengelompokkan logika penanganan permintaan terkait ke dalam satu kelas. Misalnya, kelas UserController mungkin menangani semua permintaan masuk yang terkait dengan pengguna, termasuk menampilkan, membuat, memperbarui, dan menghapus pengguna. Secara default, pengontrol disimpan di direktori :
app/Http/Controllers
Routes
Direktori rute berisi semua definisi rute untuk aplikasi Anda. Secara default, beberapa file rute disertakan dengan Laravel: web.php, api.php, console.php, dan channels.php.
File web.php berisi rute yang ditempatkan RouteServiceProvider di grup middleware web, yang menyediakan status sesi, perlindungan CSRF, dan enkripsi cookie. Jika aplikasi Anda tidak menawarkan RESTful API stateless, maka kemungkinan besar semua rute Anda akan ditentukan dalam file web.php.
File api.php berisi rute yang ditempatkan RouteServiceProvider di grup middleware api. Rute ini dimaksudkan untuk tidak memiliki kewarganegaraan, sehingga permintaan yang masuk ke aplikasi melalui rute ini dimaksudkan untuk diautentikasi melalui token dan tidak akan memiliki akses ke status sesi.
File console.php adalah tempat Anda dapat menentukan semua perintah konsol berbasis penutupan Anda. Setiap penutupan terikat ke instance perintah yang memungkinkan pendekatan sederhana untuk berinteraksi dengan metode IO masing-masing perintah. Meskipun file ini tidak mendefinisikan rute HTTP, file ini mendefinisikan titik masuk (rute) berbasis konsol ke dalam aplikasi Anda.
File channels.php adalah tempat Anda dapat mendaftarkan semua saluran siaran acara yang didukung aplikasi Anda.
Public
Direktori publik berisi file index.php, yang merupakan titik masuk untuk semua permintaan yang masuk ke aplikasi Anda dan mengonfigurasi pemuatan otomatis. Direktori ini juga menampung aset Anda seperti gambar, JavaScript, dan CSS.