...

Struktur Direktori Laravel

Anda sudah bisa menginstal Laravel? Jika belum, maka mimin sarankan Sahabat Cyberspace.id untuk membaca Panduan Instalasi Laravel

Bagi Sahabat Cyberspace.id yang sudah melewati step sebelumya terkait instalasi Laravel, maka dapat melajutkan materi pada blog berikut ini, yaitu terkait direktori Laravel. Kini kita bisa melanjutkan menelaah kumpulan folder direktori yang terdapat pada Laravel. Memahami susunan folder direktori Laravel akan mempermudah Anda saat menjalankan aneka tugas dengan Laravel seperti CRUD (Create, Read, Update, dan Delete), atau sekadar membedakan dan memilih folder yang Anda butuhkan untuk bekerja membangun framework software.

Seperti yang sudah dijelaskan sebelumnya, meskipun terdiri dari beberapa versi, susunan direktori Laravel hampir mirip untuk satu dengan yang lain. Perbedaan mungkin terletak pada susunan sub direktori. Secara lengkap, inilah nama-nama folder direktori dan sub direktori pada Laravel dari folder teratas hingga terbawah:

Gambar Direktori Folder Project Laravel

Banyak sekali, ya? Jika ditotal,  folder yang ada pada Laravel! Lalu, apa saja kegunaan dari masing-masing folder di atas pada pekerjaan dengan Laravel? Berikut kami sudah menyiapkan penjelasannya khusus untuk Anda. Yuk dicatat!

App / Http

Direktori app mencakup seluruh source code dari project kita, direktori ini berisi direktori http, exceptions, middleware, dan providers. Direktori ini memiliki subtler sebagai berikut.

Gambar Direktori Folder Project Laravel - App/Http

Console, direktori ini berisi tentang perintah artisan yang kita deklarasikan sendiri di Laravel, jadi disisi lain Laravel memiliki perintah artisan sendiri dan kita juga dapat membuat perintah artisan sendiri.

Exceptions, direktori ini berisi penanganan exception atar pengecualian dari Laravel kita. Jika kita ingin memodifikasi exception yang mask, kita harus memodifikasi class Handler di direktori ini.

HTTP, direktori App/Http digunakan untuk menyimpan seluruh proses request dan response HTTP. Direktori ini memiliki 2 folder, yaitu Controller dan Middlerwar.

  1. App/Http/Controllers, direktori ini digunakan untuk menyimpan seluruh class Controller yangkita buat. Jadi, semla logika di website kita taruh di class Controller yang disimpan di direktori ini.
  2. App/Http/Middleware, direktori ini digunakan untuk menyimpan class yang berhubungan dengan middleware PHP. Middleware adalah sebuah class yang dieksekusi sebelum HTTP request masuk ke Controller. Jadi, fungsi dari middleware adalah penengah atau sebagai filter request dari user.

Providers, direktori ini berisi sequa dari service provider untuk aplikasi kita. Dalam aplikasi Laravel baru, direktori ini sudah berisi beberapa provider. Kita bebas untuk menambahkan provider kita sendiri ke direktori ini sebagaimana yang kita butuhkan.

Bootstrap

Direktori ini bukan untuk menambahkan file css, tetapi seperti yang kita tahu bootstrap adalah framework untuk css. Direktori ini berisi file yang digunakan untuk caching. Caching yang dimaksud adalah optimasasi route dan config yang ada pada Laravel.

Config

Kita pasti bisa menebak dari nama direktori ini, yaitu berisi semua file konfigurasi yang dijalan oleh Laravel. Ide yang bagus untuk membaca semua file yang ada di direktori ini sehingga menjadi familiar dengan konfigurasi yang akan kita lakukan dengan Laravel kita.

Database

Direktori ini digunakan untuk membuat database migration, model factories, dan database seeder.

Gambar Direktori Folder Project Laravel - Database

  1. Factories, berfungsi untuk mengisi data dummy suatu tabel dalam database yang telah kita pilih modelnya. Data dummy dapati di generate sendiri oleh suatu library dengan factories. Jadi, kita tinggal menggunakannya, apakah kita akan generate string, kata, kalimat, atau angka.
  2. Migration, direktori ini berisi file migrations yang di generate oleh Laravel pada saat kita menjalankan perintah php artisan make:migration. Fitur migrations sendiri sangat berguna untuk melakukan perubahan database, baik itu penambahan tabel, penambahan kolom/field, menghapus kolom, menghapus tabel, serta melakukan roll-back pada setiap perubahan database yang kita buat. Fitur migrations ini akan sangat terasa manfaatnya terutama pada saat kita mengerjakan sebuah proyek di dalam sebuah tim dan banyak struktur database yang berubah seiring dengan perkembangan proyek kita.
  3. Seeds, direktori ini berisi file seeder yang di generate menggunakan perintah php artisan make:seeder. Fitur seeder pada Laravel ini berguna untuk membuat dummy data pada database tanpa kita membuat sendiri pada database kita.

Public

Pada dasarnya, Laravel memudahkan antaran direktori public dan private. Dimana direktori public adalah direktori yang seluruh resource aplikasinya dapati diakses secara penuh oleh user/client melalui web browser, seperti javascript atau css atau image. Sedangkan direktori private yang dimaksud adalah seluruh direktori di luar public, yaitu direktori bawaaan Laravel.

Resources

Direktori ini memiliki tiga buah sub direktori, yaitu assets, lang, dan views.

Gambar Direktori Folder Project Laravel - Resources

  1. Assets, Laravel memiliki sebuah f├╝tur yang bernama Laravel Elixir. Fitur ini ditujukan untuk membantu para pengguna Laravel untuk kompilasi file less, sass, dan coffeescript yang mereka buat. Nah, direktori ini ditujukan untuk menyimpan resources tersebut yang nantinya akan secara otomatis dikompilasi oleh Laravel dengan menggunakan Gulp dan dipindahkan ke dalam direktori public. Selain itu, kita juga dapat menyimpan resource berupa image atau berkas-berkas lain yang nantinya akan dipindahkan oleh Laravel ke dalam direktori public dengan cara yang sama.
  2. Lang, direktori ini dapat mengimplementasi localization yang sama seperti di android, yaitu membantu pengguna web untuk menggunakn bahasa yang banyak/multi language. Direktori ini menyimpan seluruh definisi Bahasa yang telah kita buat untuk Laravel.
  3. Views, direktori ini digunakan untuk menyimpan seluruh fie HTML/blade yang kita buat pada Laravel.

Routes

Direktori routes berisi beberapa file routes yang memiliki fungsi tersendiri, routes di sini sebagai jalan yang akan dilalui oleh client dalam menggunakan Laravel kita.

Gambar Direktori Folder Project Laravel - Routes

  1. Api.php, file ini digunakan sebagai routing untuk Rest Api pada Laravel, routing ini juga dapat menggunakan middleware, yaitu filter yang digunakan untuk request pada Api yang telah kita buat.
  2. Channerls.php, File ini digunakan sebagai routing untuk mem-broadcast channel event pada aplicais Laravel kita.
  3. Console.php, File dimana kita dapat mendefinisikan semua perintah custom pada console Laravel.
  4. Web.php, Route untuk web kita akan didaftaran melalui file ini, jadi seluruh rute yang kita gunakan di Laravel berada pada file ini.

Storage

Direktori ini berisi template blade yang dikompilasi oleh Laravel, file session, file cache, dan file lain yang dihasilkan oleh Laravel.

Test

Direktori ini digunakan untuk menyimpan seluruh file test yang digunakan untuk menguji Laravel, seperti unit testing menggunakan PHP unit dan mockery yang dapat membantu kita dalam mengecek apakah ada bug di dalam pembuatan aplikasi kita menggunakan Laravel tersebut.

Vendor

Direktori ini digunakan untuk menyimpan seluruh depedency manager yang kita gunakan, misal kita menginstall library menggunakan compose, maka akan diinstal di direktori vendor.



Post Comments(0)

...
Saharoedin4 weeks ago

Hallo

Leave a reply