Laravel / Pemrograman Web Lanjut · July 20, 2022

Struktur Folder Pada Laravel #belajarlaravel-2

image_pdf

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
Struktur Folder Model Pada Laravel

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:

Contoh tampilan halaman yang ada pada folder views
resources/views
Struktur Folder Views Pada Laravel

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
Struktur Folder Controller Pada Laravel

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.

Struktur Folder Routes Pada Laravel

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.