webmurah.id

Jasa Membuat Website Moderen Dengan Biaya Murah

Menu

Struktur Direktori Laravel 5 Yang Harus Di Pahami

September 13, 2018 | Belajar Laravel

Struktur Direktori Laravel – Pada kesempatan kali ini aku akan membahas perihal struktur direktori pada laravel 5. mengapa hal ini ingin aku bahas? menurut aku laravel 5 memiliki susunan direktori yang berbeda dari framework-framework php lainnya. Bisa kita simpulkan, kebanyakan framework berbasis php yang menggunakan konsep mvc (Model View Controller) menggunakan skema direktori dengan nama “model”, “view” dan “controller” yang seluruhnya dikumpulkan kedalam sebuah direktori utama yang bernama “src” atau “app” / “application” (mirip code igniter).

Struktur Direktori Laravel Yang Harus Di Pahami

Struktur Direktori Laravel Yang Harus Di Pahami

Pada skema tersebut, direktori “model” digunakan menyimpan class php yang berhubugan dengan model database, kemudian direktori “controller” digunakan menyimpan class php yang berkekerabatan dengan application logic dan direktori “view” digunakan menyimpan file-file yang berkekerabatan tampilan perangkat lunak. konvensi struktur direktori tersebut juga digunakan oleh laravel versi 5 namun dengan struktur yang sedikit berbeda dari biimpiannya dan (menurut aku) hal ini akan membuat resah para pengguna framework yang baru berpmengagumkan dari framework lain mirip yii / code igniter.

Baca Juga : Cara Instal laravel Untuk Pertama Kalinya

Oke, berikut ini ialah struktur direktori dari laravel 5:

Hal pertama yang terlintas dalam pikiran aku ketika melihat struktur direktori diatas ialah “waw, berbagai sub direktorinya?”, “ apa sih sebernanya direktori seperti events, middleware, request, jobs, dan sebagainya?”, “kemana perginya direktori model?” dan banyak pertanyaan-pertanyaan lainnya. nah, artikel ini aku akan mencoba membahas beberapa direktori utama yang perlu diperhatikan pada ketika menggunakan framework ini.

App/Http

Direktori ini merupakan direktori yang dibuat secara khusus menyimpan seluruh file-file yang berkaitan dengan proses request dan response http. dikretori ini memiliki tiga buah sub direktori yang diantaranya ialah “controllers”, “middleware” dan “requests”. berikut ini ialah penterangan mengenai fungsi dari ketiga buah sub direktori tersebut:

  1. app/http/controllers: direktori ini digunakan menyimpan seluruh class controller yang kita buat mirip misalnya productcontroller.php, salescontroller.php, dll.
  2. app/http/middleware: direktori ini digunakan menyimpan seluruh class yang berkekerabatan dengna middleware php. secara umum middleware ialah sebuah class yang akan dieksekusi sebelum http request yang masuk diberikan kepada controller. tujuan dari class middleware ialah melakukan filter mirip misalnya menolak akses dari user yang belum login. penterangan lengkapnya perihal middleware mampu baca dokumentasinya disini.
  3. app/http/requests: direktori ini hanya berisikan sebuah class yaitu request.php yang dapat digunakan menerima data dari form request yang dikirim oleh web browser. selain itu direktori ini juga ditujukan menyimpan class validator yang kita buat baik yang dibuat secara manual ataupun dengan menggunakan perintah php artisan make:request. penterangan lebih lanjut terkait penggunaan validator pada laravel, mampu dibaca dokumentasinya disini.

Database/Migrations

Direktori ini berisikan file-file migrations yang digenerate oleh laravel pada ketika kita menjalankan perintah php artisan make:migration. fitur migration sendiri sangat memiliki kegunaan melakukan perubahan pada database baik itu penambahan tabel, penambahan kolom, menghapus kolom, menghapus tabel serta melakukan roll-back setiap perubahan database yang kita buat. fitur migration ini akan sangat terimpian manfaatnya terutama pada ketika kita mengerjakan sebuah project di dalam sebuah tim dan banyak struktur database yang berubah seiring perkembangan project. penterangan lebih lanjut terkait fitur migration pada laravel silahkan baca dokumentasinya disini.

Database/Seeds

Direktori ini berisikan file-file dabase seeds yang digenerate oleh laravel pada ketika kita menjalankan perintah php artisan make:seeder. fitur seeding di laravel sendiri sangat memiliki kegunaan apabila kita ingin melakukan inisialisasi data (data awalan) pada table yang kita buat. penterangan lebih lanjut terkait fitur seeding pada laravel silahkan baca dokumentasinya disini.

Public

Pada dimpianrnya laravel memisahkan antara direktori public dan private. direktori public ialah direktori dimana seluruh resource perangkat lunak dapat diakses web browser mirip misalnya gambar, javascript dan css. sedangkan untuk direktori private sendiri isinya kumpulan seluruh kode php yang telah kita buat ataupun yang merupakan bawaan dari framwork laravel itu sendiri. umumnya, dalam melakukan proses deployment laravel yang secure, hanya direktori public ini sajalah yang diletakkan di dalam direktori public_html pada web server sedangkan direktori lainnya diletakkan di luar direktori public_html.

Resources

Direktori ini mempunyai 3 buah sub direktori diantaranya yaitu “assets”, “lang” dan views. berikut ini ialah penterang singkat terkait fungsi dari masing-masing sub direktori tersebut:

  1. assets: setelah rilis laravel versi 5, laravel memiliki sebuah fitur yang bernama laravel elixir. fitur ini ditujukan membantu para pengguna laravel meng-compile file less, saas dan coffescript yang mereka buat. nah, direktori ini ditujukan menyimpan resources tersebut yang nantinya akan secara otomatis dicompile oleh laravel dengan menggunakan gulp dan dipmengagumkankan ke dalam direktori public. selain itu kita juga dapat menyimpan resources berupa image atau berkas-berkas lain yang nantinya akan dipmengagumkankan oleh laravel kedalam direktori public dengan cara yang sama. penterangan lebih lanjut terkait fitur laravel elixir, silahkan baca dokumentasinya disini.
  2. lang: secara default laravel sudah memiliki support terhadap implementasi localization yang dapat membantu para pengguna framework menciptakan perangkat lunak web yang multi bahimpian. direktori ini menyimpan seluruh definisi bahimpian yang telah kita buat. penterangan lebih lanjut terkait penggunaan fitur localization pada laravel, silahkan baca dokumentasinya disini.
  3. views: direktori ini digunakan menyimpan seluruh file html / template blade yang kita buat.

Test

Laravel merupakan sebuah framework yang dpandangan barusain dengan mindset testable framework. oleh sebab itu, secara default laravel sudah menyediakan library-library yang diharapkan dapat melakukan unit testing mirip phpunit dan mockery. nah, direktori ini berfungsi menyimpan seluruh file test yang dibuat kemudian dijalankan oleh phpunit.

Sejauh ini miripnya aku sudah memaparkan beberapa direktori penting yang harus diperhatikan dalam menggunakan laravel 5. eh, tunggu dulu. Mungkin masih ada yang ketinggalan nih, kira-kira apa yah?

Dimanakah aku harus meletakkan class model di laravel 5?

Salah satu yang membuat aku resah pada ketika menggunakan laravel 5 ialah bahwa tidak adanya direktori bernama “models” mirip framework-framework php mvc lainnya. lalu, dimanakah letak seharusnya kita menyisipkan class models yang sudah dibuat? apakah kita diwajibkan harus membuat sendiri folder baru bernama “models” di app/http? sebetulnya tidak ada konvensi khusus dimana letak class model berada, akan tetapi lau melihat default model user user.php yang disediakan oleh laravel serta lokasi generated model yang dibuat oleh laravel pada ketika kita menggunakan perintah php artisan make:model maka dapat disimpulkan bahwa lokasi class model pada laravel 5 ialah di dalam folder app mirip misalnya app\product.php.

tags:

Related For Struktur Direktori Laravel 5 Yang Harus Di Pahami