Home Mobile Mengenal Struktur Folder dan File pada Laravel

Mengenal Struktur Folder dan File pada Laravel

0

Halo semuanya, di artikel ini seperti judulnya berbunyi, kita akan membahas masing-masing kegunaan file dan folder didalam starter project Laravel.

Karena secara default ketika kita membuat project laravel baru, kita akan dibuatkan secara otomatis file dan folder. File-file Folder-folder yang dibuatkan adalah bentuk implementasi design architecture MVC (model, view, controller) yang digunakan framework Laravel. Maka dari itu, mari kita mulai pembahasannya.

Struktur Projek Laravel

Ketika kita membuat projek baru Laravel, composer akan mempersiapkan folder-folder dan file-file kerangka yang akan dibutuhkan Laravel untuk berjalan. Berikut adalah kumpulan file dan folder dari kerangka yang dibuat oleh composer:

app/

bootstrap/

config/

database/

public/

resources/

routes/

storage/

tests/

vendor/

.editorconfig

.env

.env.example

.gitattributes

.gitignore

artisan

composer.json

composer.lock

package.json

phpunit.xml

readme.md

server.php

webpack.mix.js

Mari kita telusuri satu per-satu.

Folder

Berikut adalah folder-folder yang tersedia secara default:

App

Folder app berisi kode-kode inti dari aplikasi seperti Model, Controller, Commands, Listener, Events, dll. Poinnya, hampir semua class dari aplikasi berada di folder ini.

Bootstrap

Folder bootstrap berisi file app.php yang dimana akan dipakai oleh Laravel untuk boot setiap kali dijalankan.

Config

Folder config seperti namanya, berisi semua file konfigurasi aplikasi Anda.

Database

Folder database berisi database migrations, model factories, dan seeds. Folder ini akan bertanggung jawab dengan pembuatan dan pengisian tabel-tabel database.

Public

Folder public memiliki file index.php yaitu entry point dari semua requests yang masuk/diterima ke aplikasi. Folder ini juga tempat menampung gambar, Javascript, dan CSS.

Resources

Folder resources berisi semua route yang disediakan aplikasi. Sebagai default, beberapa file routing akan tersedia seperti: web.php, api.php, console.php, dan channels.php. Folder ini adalah tempat dimana kita memberikan koleksi definisi route aplikasi.

Storage

Folder storage adalah tempat dimana cache, logs, dan file sistem yang ter-compile hidup.

Tests

Folder tests adalah tempat dimana unit dan integration tests tinggal.

Vendor

Folder vendor adalah dimana tempat folder-folder dependencies third-party yang telah di-install oleh composer berada.

Files

Berikut adalah file-file yang tersedia secara default:

.editorconfig

Berguna untuk memberi IDE/text editor instruksi tentang standar coding Laravel seperti whitespace, besar identasi, dll.

.env dan .env.example

Tempat dimana variable environment aplikasi ditempatkan (variabel yang diekspektasikan akan berbeda di setiap sistem) seperti nama database, username database, password database. 

.gitignore dan .gitattributes

File konfigurasi git.

artisan

Memungkinkan anda untuk menjalankan perintah artisan dari command line.

composer.json dan composer.lock 

File konfigurasi untuk composer. File ini adalah informasi dasar tentang projek dan juga mendefinisikan dependencies yang digunakan.

package.json

Mirip-mirip dengan composer.json tapi untuk aset-aset dan dependencies front-end.

phpunit.xml

Sebuah file konfigurasi untuk PHPUnit, tools yang digunakan Laravel untuk testing.

readme.md

Sebuah markdown file yang memberikan pengenalan dasar tentang Laravel.

server.php

Server cadangan yang mencoba untuk tetap menjalankan aplikasi Laravel kepada server yang kurang mampu.

webpack.mix.js Konfigurasi file untuk Mix (opsional). File ini adalah untuk membangun arahan system soal bagaimana meng-compile

Selesai sudah penjelasan tentang kegunaan atau fungsi dari masing-masing file dan folder. Ingat struktur yang dibahas adalah pada laravel versi 9 jadi mungkin di versi laravel yang lebih baru, ada perbedaan.

Terimasih sudah membaca artikel sampai akhir, semoga bermanfaat!