
Daftar Isi
Pernahkah Anda merasa bingung saat pertama kali membuka folder proyek Laravel dan melihat begitu banyak file dan folder di dalamnya? 😵💫
Tenang, Anda tidak sendirian. Banyak pemula yang baru belajar Laravel sering kebingungan — terutama saat harus memahami fungsi masing-masing folder, terutama folder public yang menjadi “gerbang utama” aplikasi web Laravel.
Bagi Anda yang ingin memahami struktur folder Laravel dengan jelas dan terstruktur, artikel ini adalah jawabannya.
Kita akan membahas fungsi setiap folder penting di Laravel, fokus pada folder public, serta tips praktis agar Anda tidak salah menaruh file saat mengembangkan proyek.
Setelah membaca artikel ini hingga akhir, Anda akan:
- Memahami struktur dasar folder Laravel dan fungsinya.
- Mengetahui apa yang boleh dan tidak boleh diletakkan di dalam folder
public. - Mengerti aliran kerja Laravel dari sisi struktur file, sehingga pengembangan jadi lebih efisien dan aman.
1. Apa Itu Struktur Folder Laravel?
Sebelum membahas lebih jauh tentang public, mari pahami dulu bagaimana Laravel mengatur strukturnya.
Laravel adalah framework PHP yang mengorganisir file secara modular dan terpisah berdasarkan fungsi.
Struktur ini membuat kode lebih rapi, mudah dikelola, dan aman.
Ketika Anda membuat proyek Laravel baru, Anda akan melihat struktur seperti ini:
app/
bootstrap/
config/
database/
public/
resources/
routes/
storage/
tests/
vendor/
Setiap folder memiliki peran khusus, namun folder public adalah satu-satunya bagian yang langsung bisa diakses oleh pengguna melalui browser.
2. Mengenal Folder public di Laravel
Folder public adalah root direktori web atau tempat file publik disimpan.
Semua file yang boleh diakses oleh pengguna — seperti gambar, CSS, JavaScript, dan file index utama Laravel — ada di sini.
Isi default folder public biasanya seperti ini:
index.php
.htaccess
favicon.ico
robots.txt
css/
js/
images/
Mari kita bahas satu per satu:
| File/Folder | Fungsi |
|---|---|
| index.php | Titik awal aplikasi Laravel. Semua permintaan pengguna akan masuk lewat file ini sebelum diteruskan ke sistem Laravel. |
| .htaccess | File konfigurasi Apache untuk mengatur routing agar semua request diarahkan ke index.php. |
| favicon.ico | Ikon kecil yang muncul di tab browser. |
| robots.txt | Mengatur akses bot mesin pencari seperti Google ke situs Anda. |
| css/, js/, images/ | Tempat menyimpan file statis seperti stylesheet, JavaScript, dan gambar. |
💡 Catatan: Folder
publichanya berisi file yang memang boleh diakses publik. File penting seperti konfigurasi, controller, atau model tidak boleh ditempatkan di sini.
3. Cara Kerja Folder public dalam Laravel
Setiap kali pengguna mengunjungi situs Anda (misalnya https://contoh.com), permintaan itu sebenarnya diarahkan ke file public/index.php.
File ini bertugas memanggil autoloader Composer dan menjalankan kernel Laravel, yang kemudian akan mencari route yang sesuai dan menampilkan tampilan (view) yang diminta.
Singkatnya:
User → public/index.php → Laravel Kernel → Controller → View
Dengan sistem ini, Laravel menjaga agar file sensitif di luar folder public tidak dapat diakses langsung oleh publik, sehingga keamanan aplikasi lebih terjamin.
4. Panduan Praktis: Menata File di Folder public
Agar proyek Laravel Anda tetap rapi dan aman, berikut panduan praktis yang bisa Anda ikuti:
- Simpan file statis di tempat yang tepat.
- CSS di
public/css/ - JavaScript di
public/js/ - Gambar di
public/images/
- CSS di
- Gunakan helper
asset()untuk memanggil file.
Contoh:<link rel="stylesheet" href="{{ asset('css/style.css') }}"> <script src="{{ asset('js/script.js') }}"></script> - Jangan taruh file konfigurasi atau script PHP lain di
public/.
Folder ini hanya untuk file statis atauindex.phpsaja. - Gunakan Laravel Mix atau Vite (pada versi terbaru) untuk mengelola asset modern.
Anda bisa menulis file CSS/JS diresources/lalu membuild-nya agar hasilnya otomatis masuk kepublic/. - Jangan ubah struktur default Laravel tanpa alasan kuat.
Laravel sudah diatur secara optimal — perubahan yang tidak perlu bisa menyebabkan error routing atau masalah keamanan.
5. Folder-Folder Lain yang Berhubungan dengan public
Untuk memahami public dengan lebih baik, pahami juga folder lain yang berkaitan dengannya:
- resources/ → tempat Anda menulis file CSS/JS/Blade sebelum dikompilasi ke
public/. - storage/ → tempat file log, cache, dan upload disimpan (tidak untuk diakses langsung publik).
- routes/ → tempat Laravel mengatur arah request yang masuk dari
index.php.
Sekarang Anda sudah tahu bahwa folder public adalah pintu utama aplikasi Laravel, tempat semua file statis berada, dan pelindung pertama dari akses langsung ke sistem backend.
Dengan memahami struktur ini, Anda bisa lebih percaya diri mengelola proyek Laravel, menjaga keamanan, dan memastikan aplikasi berjalan lancar.
👉 Selanjutnya, Anda bisa lanjut membaca: (artikel lanjutan yang membahas folder lainnya secara detail).
