Last Updated on June 6, 2022 by
Selamat datang kembali di edisi seri Laravel dari Appkey.id! Sudah bersemangat dan tidak sabar untuk menyelami tutorial belajar Laravel kali ini? Di momen ini, kami akan mengajak Anda untuk berkenalan secara mendalam dengan struktur Laravel.
Mungkin Anda bertanya-tanya mengapa pembahasan struktur Laravel itu penting? Mengapa kita tidak langsung lompat ke cara kerja dengan Laravel atau cara membuat aneka fitur dengan Laravel?
Bayangkan jika Anda diminta untuk mengerjakan sebuah tugas dengan beragam perkakas tanpa mengetahui dasar-dasar dari kegunaan perkakas tersebut. Apa yang akan Anda rasakan? Jawabannya pasti kebingungan, bukan?
Sama seperti Laravel. Jika Anda baru pertama kali belajar Laravel dan langsung lompat ke tutorial praktek, kemungkinan besar Anda akan kebingungan dengan beragam istilah yang ada di Laravel. Jadi, untuk menyempurnakan pemahaman Anda seputar framework Laravel, mari kita belajar yang benar dan runut dari awal yakni dengan mempelajari struktur Laravel terlebih dahulu.
Kira-kira seperti apa struktur Laravel? Folder-folder apa yang tersimpan dalam Laravel, serta apa saja kegunaannya? Yuk langsung kita simak pembahasan lengkapnya berikut ini. Selamat membaca!
Baca juga : Tutorial Laravel UI : Membuat Autentifikasi dengan Mudah
Table of Contents
Seperti Apa Struktur Laravel? Sekilas Gambaran Besar
Laravel mempunyai sebuah struktur berupa susunan aneka folder dengan beragam fungsi. Ada juga yang menyebut struktur Laravel ini sebagai ‘direktori’. Seperti yang kita telah ketahui juga, Laravel terdiri dari beberapa versi. Sampai saat ini, versi terbaru Laravel adalah Laravel 8 (yang paling baru). Meskipun terdiri dari beraneka versi, susunan struktur Laravel tidak jauh berbeda satu sama lain.
Memahami seperti apa struktur Laravel merupakan hal yang penting karena banyak user menilai bahwa susunan struktur Laravel berbeda dengan direktori milik framework PHP lain. Bahkan, struktur Laravel masih berbeda dengan framework berbasis MVC (Model View Controller) lainnya. Framework MVC lain hanya mempunyai susunan direktori yang ringkas dengan nama ‘Model’, ‘View’ dan ‘Controller’ saja. Pun ketiga folder tersebut disimpan dalam 2 direktori utam ‘app’ dan ‘src’.
Namun struktur Laravel tidak sesimpel itu, walaupun Laravel juga memakai sistem MVC. Susunan struktur Laravel lebih banyak dan lebih rinci, sehingga besar kemungkinan akan membingungkan para pengguna baru ataupun pengguna framework lain yang berpindah mencoba Laravel. Perbedaan mencolok antara struktur Laravel dengan framework lain adalah banyaknya sub direktori yang dimiliki oleh Laravel.
Kita akan melihat seperti apa struktur direktori dari Laravel yang lebih rinci pada pembahasan selanjutnya. Mari lanjutkan scrolling!
Kumpulan Folder Direktori Laravel, Pemula Wajib Tahu
Anda sudah menginstal Laravel? Bagus, 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 kerja 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:
- App / Request / Http
- Console
- Commands
- Events
- Exceptions
- Http
- Controllers
- Middleware
- Requests
- Jobs
- Listeners
- Providers
- Bootstrap
- Cache
- Config
- Database
- Factories
- Migrations
- Seeds
- Public
- Resources
- Assets
- Less
- Lang
- En
- Views
- Errors
- Layout
- Vendor
- Storage
- App
- Framework
- Cache
- Sessions
- Views
- Logs
- Test
Banyak sekali, ya? Jika ditotal, ada 36 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 / Request / Http
Pertama adalah folder direktori app yang juga dikenal dengan nama request atau http. Penamaan yang beragam ini muncul karena berkaitan dengan fungsi folder app yakni untuk menyimpan semua file repsonse Http dan proses request. Selain itu, folder ini juga menyimpan semua fungsi controller, sama seperti folder app lain pada semua framework PHP MVC.
Folder utama app mempunyai sejumlah sub folder / sub direktori yang bisa Anda manfaatkan untuk mempermudah pekerjaan. Meski demikian, Anda juga tetap bisa membuat folder sub direktori lain secara personal jika dibutuhkan.
Beberapa sub folder direktori yang dimiliki oleh app adalah: middleware, controllers/auth, dan request.
Middleware
Middleware adalah sub direktori yang berfungsi untuk menampung dan menyimpan semua class middleware PHP. Class middleware akan dijalankan sebelum HTTP request dapat masuk ke sistem controller. Dengan kata lain, middleware adalah penghubung dari request dan controller di Laravel. Di sini nantinya akan terjadi proses filter.
Contoh proses filter yang dilakukan middleware adalah menolak akses untuk user yang belum login ke sistem. Semisal ada user belum diauthentikasi oleh sistem > sistem akan membawa user kembali ke halaman home oleh middleware alias tidak bisa mengakses bagian controller utama / sistem backend.
Controllers / Auth
Selanjutnya adalah controller / auth yang sesuai namanya, menyimpan semua class milik controller (misal SalesController.php, ProductController.php., dan sebagainya). Folder ini juga merupakan folder bawaan Laravel untuk menyimpan semua sistem authentikasi Laravel yang Anda buat.
Request
Terakhir adalah sub direktori request yang khusus menyimpan 1 tipe class yakni Request.php. Fungsi request ini digunakan untuk memperoleh data form request dari browser web. Namun terkadang folder ini juga bisa dipakai untuk menyimpan class validator buatan user dengan kode: php artisan make:request.
Test
Folder test menyimpan beragam komponen library untuk kebutuhan testing framework yang hendak dijalankan oleh user (programmer). Kehadiran folder test ini tak lain dikarenakan rancangan Laravel sendiri yang mendukung mind-set testable framework, alias framework yang bisa sekalian membangun framework dan mengujinya.
Semua paket testing pada Laravel tersimpan dalam bentuk bundling PHPUnit sehingga user dapat menjalankan testing dengan lebih mudah. Jenis test yang bisa dijalankan dengan Laravel contohnya Test Driven Development (TDD).
Database
Folder ketiga adalah database. Folder direktori database dapat dibagi menjadi 3 yakni database/seeds, database/factories dan database/migrations.
Database/Seeds
Sub folder database/seeds memuat aneka seeder database untuk proses input data awal (inisialisasi data) di tabel database menggunakan Laravel. Untuk memanggil atau menggenerate fitur ini, Anda bisa memakai kode perintah php artisan make:seeder.
Database/Factories
Selanjutnya adalah database/factories yang dipakai untuk membuat data-data fake atau dummy. Data dummy biasa digunakan saat mengembangkan aplikasi tahap awal dengan Laravel.
Database/Migrations
Terakhir adalah sub folder database/migration yang digunakan untuk mengelola aneka tabel di dataase, mulai dari membuat tabel, mengedit tabel menambah kolom, menghapus kolom, menambah tabel, hingga menghapus tabel tu sendiri. Fitur ini bisa dijalankan dengan perintah artisan: php artisan make:migration. Folder database/migration ini paling sering digunakan ketika bekerja dalam tim untuk mengelola data dan mengembangkan project bersama.
Public dan Private
Berbeda dengan framework lain, Laravel memisahkan direktori public-nya dari direktori private. Direktori public ini berfungsi untuk memungkinkan semua resource styling (seperti koding JavaScript, gambar, CSS, dan kebutuhan lain untuk styling) dapat diakses melalui browser web. Sehingga otomatis, direktori public terletak pada web server > public_html.
Sementara private adalah direktori bawaan Laravel yang memuat semua kode PHP bawaan sistem dan buatan user untuk digunakan dalam pekerjaan yang bersifat lebih ‘rahasia’. Posisi direktori private pun terletak di luar public_html.
Storage
Sesuai namanya, storage adalah folder penyimpanan di Laravel. Hal yang disimpan di storage adalah aneka progres dan proses yang Anda lakukan dengan Laravel. Storage biasa digunakan oleh user untuk menyimpan backup dari database, backup file Laravel, membentuk index dari Laravel Scout dan menyimpan aneka file logs error.
Resources
Direktori resources mempunyai 3 sub folder dengan kegunaan yang berbeda. Ketiga folder tersebut adalah: views, lang dan assets.
View
Ini adalah sub folder resources yang paling penting atau krusial. Folder view inilah yang merupakan bagian dari MVC (Model View Controller). Semua file yang Anda buat di Laravel, seperti template blade dan file HTML dapat dilihat memakai sub folder view.
Lang
Lang adalah sub folder direktori yang mensupport implementasi localization dan menyimpan semua definisi bahasa yang Anda buat. Dengan adanya sub folder ini, user bisa membuat beragam web atau aplikasi yang disupport dengan fasilitas multi bahasa.
Assets
Assets digunakan untuk menyimpan resources yang dikerjakan user pada proses compile less file, coffescript dan saas. Ketika resources disimpan di assets, maka file dapat dicompile otomatis oleh sistem Laravel memakai gulp. Terakhir, file yang sudah diproses akan disimpan pada sebuah direktori public untuk digunakan. Sub folder ini umumnya digunakan oleh user yang memakai Laravel Mix.
Config
Beranjak dari resources, selanjutnya ada folder config, yang menyimpan aneka konfigurasi core Laravel dan tambahan package untuk Laravel. Semisal file app.php untuk mendaftar package tambahan di Laravel yang tersimpan pada folder ini.
Routes dan Vendor
Dimana file routing Anda disimpan oleh Laravel? Jawabannya sudah jelas: folder routes. Di sini, semua jalur route yang Anda buat dari request ke controller disimpan bersama-sama dengan API routes.
Terakhir adalah folder vendor. Vendor berisi semua file composer package yang digunakan saat proses development web. Kedua folder routes dan vendor tidak mempunyai sub folder direktori.
Demikianlah pembahasan seri belajar Laravel Appkey edisi kali ini. Menarik dan menyenangkan bukan tutorial belajar Laravel kali ini? Selamat karena Anda sudah memahami dengan baik perihal struktur Laravel! Kini, Anda sudah bisa melanjutkan ke seri belajar Laravel lainnya dengan lebih mudah.
Tertarik untuk membaca tutorial belajar Laravel lebih banyak? Atau, Anda ingin mempelajari lebih dalam seputar bahasa programming lainnya? Yuk jangan lupa untuk mengecek artikel menarik, informatif dan berwawasan lainnya hanya dari Appkey.id. Sampai jumpa lagi!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.