Struktur Direktori Laravel 5.4
Direktori Secara sederhananya Direktori yaitu sebuah folder yang berisi beberapa file, Manfaat direktori agar kita bisa mengkategorikan file yang berjumlah banyak, Bayangkan jika file dikomputer anda terdapat ratusan bahkan ribuan dengan masing masing mempunyai ektensi yang berbeda dan suatu waktu anda ingin membuka file yang diinginkan , Otomatis kan harus scroll dari atas sampai kebawah sampai ketemu, Kalo disimpan dalam direktori anda pasti lebih mudah menemukannya dan waktu pun semakin singkat. Nah pada Framework laravel juga terdapat beberapa direktori yang masing masing sudah dinamai darisananya, Pasti dengan setiap nama direktori yang ada dilaravel mempunyai tujuannya tersendiri, Untuk anda yang ingin membangun sebuah website dengan cepat dengan menggunakan Laravel, Sebaiknya anda mengetahui dulu apa kegunaan direktori yang ada di laravel, Yuk simak
Root Direktori Khusus untuk Direktori Root ini adalah istilah saja yang menjelaskan lokasi, Bukan folder yang bernama root, Akan tetapi Direktori Root ini adalah letak dimana akan anda lihat pertama kali setelah anda mengklik folder proyek anda, Dan direktori ini merupakan akar aplikasi untuk laravel, Didalam root direktori terdapat beberapa direktori yaitu
- Direktori App,
a. Direktori Console berisi semua dari artisan comman secara custom untuk aplikasi anda, Perintah ini bisa dihasilkan menggunakan make:command command, Direktori ini juga rumah dari consol kernel, Yang dimana command artisan custom anda telah diregistrasi dan scheduled anda telah didefinisikan
b. Direktori Event Direktori ini tidak ada secara bawaannya, Tapi akan dibuat untuk anda oleh perintah artisan event:generate dan make:event . Direktori Events, Seperti yang anda harapkan, Rumah dari class event, Events bisa digunakan untuk memperingati bagian lain dari aplikasi anda yang memberikan aksi telah terjadi, Menyajikan kesepakatan bagus dari flexibility dan decouple
c. Direktori Exceptions Berisi penanganan exception aplikasi anda dan juga tempat bagus untuk menempatkan setiap pelemparan exception oleh aplikasi anda, Jika anda ingin mengkostumisasi bagaimana exception telah masuk atau diberikan, Anda harus memodifikasi Class Handler dalam direktori ini
d. Direktori Http Berisi controller, middleware dan request form anda, Hampir semua dari logika untuk menangani request yang dimasukan aplikasi anda akan ditempatkan didalam direktori ini
e. Direktori Jobs Direktori ini tidak akan ada secara bawaan, Tapi akan dibuat untuk anda jika anda mengeksekusi perintah artisan make:job. Direktori Jobs adalah rumah pekerjaan yang bisa diantisipasi untuk aplikasi anda, Jobs mungkin antri oleh aplikasi anda atau menjalankan serempak didalam request lingkaran kehidupan saat ini, Jobs yang dijalankan serempak ketika request saat ini kadang kadang disebut sebagai perintah sejak mereka mengimplementasikan dari pola perintah
f. Direktori Listener Direktori ini tidak akan ada secara bawaan, Tapi akan dibuat untuk anda jika anda mengeksekusi perintah artisan event:generate atau make:listener, Direktori Listener berisi class yang menangani event anda, Event Listener menerima sebuah contoh event dan melakukan logic dalam merespon untuk event menjadi terbakar, Sebagai Contoh : Sebuah event UserRegistered mungkin ditangani oleh sebuah listener SendWelcomeEmail
g. Direktori Mail Seperti pada direktori sebelumnya, Direktori ini tidak akan ada secara bawaan dan harus dieksekusi oleh anda dengan perintah artisan make:mail. Direktori Mail berisi semua dari class anda yang merepresentasikan email terkirim oleh aplikasi anda. Objek Mail mengijinkan anda untuk membungkus semua dari logika dari membangun sebuah email tunggal, Class sederhana yang bisa dikirim menggunakan metode Mail::send
h. Direktori Notifications Lagi lagi direktori ini tidak akan ada , Sama seperti direktori sebelumnya, Anda harus mengeksekusi perintah artisan make:notification, Direktori Notifications berisi semua dari notifikasi "transaksional" yang dikirim oleh aplikasi anda, Seperti notifikasi sederhana tentang event yang terjadi didalam aplikasi anda, Fitur Notifikasi Laravel secara abstrak mengirim notifikasi lebih dari berbagai driver seperti Email, Slack, SMS atau yang disimpan didalam database
i. Direktori Policies Lagi dan lagi, direktori banyak yang tidak di buat secara bawaan, Seperti direktori policies ini, tapi seperti biasa, Akan ada setelah anda mengeksekusi perintah artisan make:policy, Direktori Policies berisi otorisasi atau hak penguasaan untuk class dalam aplikasi anda, Direktori ini digunakan untuk menjelaskan jika user bisa melakukan aksi yang diberikan lagi dari sumber daya, Untuk lebih detail tentang otorisasi silahkan cek dokumentasinya di situs Laravel
j. Direktori Provides Direktori ini berisi semua dari service providers untuk aplikasi anda, Service providers bootstrap aplikasi anda dengan binding service dalam service container, registering events atau melakukan setiap tugas lain untuk menyiapkan permintaan yang datang dari aplikasi anda, Dalam Aplikasi Laravel Baru, Direktori ini sudah berisi beberapa provider, Anda bebas untuk menambahkan provider anda sendiri ke direktori ini sebagaimana yang anda butuhkan Okeh sub-direktori dari Direktori app sudah saya jelaskan diatas, Sekarang mari kita kembali ke direktori root, Dimana didalam root akan saya lanjutkan dengan menjelaskan :
- Direktori Bootstrap
- Direktori Config
- Direktori Public Direktori public, Ini adalah titik pusat untuk menampilkan request dari user, Direktori ini bisa diakses oleh siapapun, Biasanya didalam direktori public menyimpan kebutuhan desain web seperti CSS Javascript ataupun gambar
- Direktori Resources Direktori Resources, Berisi sumberdaya dari Frontend dan file yang diperuntukan untuk antarmuka, Asset yang tidak terkompilasi seperti SASS, LESS atau javascript, Ditekroti ini juga merupakan rumah dari file untuk dukungan multi bahasa
- Direktori Routes
Direktori Routes , Berisi semua file yang berfungsi untuk menentukan jalur sebuah request yang telah anda tentukan, beberapa file disertakan dengan
web.php, api.php, console.php channels.php
web.php
Berisi bahwa RouteServiceProvider menempatkan dalam grub middleware web, yang menyediakan pernyataan session, CSRF Protection, dan Enkripsi Cookie, Jika Aplikasi anda tidak menawarkan tanpa kewarganegaraan, Restful API, Semua dari route akan sangat disukai didefinisikan dalam file web.phpapi.php
Berisi routes bahwa RouteserviceProvider menempatkan grup middleware api, yang menyajikan batasan rate, Route ini dimaksudkan untuk tanpa kewarganegaraan , Jadi request memasukan aplikasi melewati route ini yang dimaksudkan untuk diautentikasi lewat token dan tidak akan mempunyai akses untuk pernyataan sessionconsole.php
File yang dimana anda mungkin mendefinisikan semua dari penutupan anda berdasarkan console command, Setiap Penutupan terikat ke contoh commpan yang mengijinkan pendekatan sederhana untuk berinteraksi dengan setiap perintah metode IO, Meskipun file ini tidak mendefinisikan HTTP routes, itu mendefinisikan console berdasarkan titik utama(routes) kedalam aplikasi andachannels.php
file yang dimana anda mungkin meregistrasi semua dari event broadcasting channels yang didukung aplikasi anda- Direktori Storage Berisi penyimpanan untuk kebutuhan seperti Blade templates, File session, cache, dan file lain yang dihasilkan oleh framework, Direktori ini tersendiri kedalam app, framework dan direktori log, Direkotri app bisa digunakan untuk menyimpan setiap file yang dihasilkan aplikasi nanda, Framework direktori digunakan untuk menyimpan cache dan file yang dihasilkan framework, Terakhir, Direktori logs berisi file log aplikasi anda
- storage/app/public Bisa digunakan untuk menyimpan file yang dihasilkan user seperti avatar, Yang seharusnya dipublikasikan, Anda harus membuat symbolic link pada public/storage yang mengarah ke direktori ini, Anda mungkin membuat link menggunakan php artisan storage:link
Direktori Vendor Vendor adalah kebutuhan composer yang membantu anda dalam mengembangkan aplikasi secara terstruktur
Daftar Pustaka
- "Directory Structure", https://laravel.com/docs/5.4/structure
Komentar
Posting Komentar