Laravel 13 Pemula #3: Mengenal Peta Harta Karun – Struktur Folder Laravel

Tutorial Laravel 13 Pemula • Proyek Web Berita

#3: Mengenal Peta Harta Karun – Struktur Folder Laravel yang Wajib Diketahui

Halo, Penjelajah Hebat! 🗺️

Sekarang kita sudah punya proyek Laravel bernama situs-berita. Di dalam folder proyek itu, ada banyak folder dan file. Jangan khawatir jika bingung—itu seperti peta harta karun yang harus kita kenali. Dengan memahami peta ini, kita akan tahu harus ke mana saat membuat sesuatu.

Bayangkan Laravel adalah sebuah istana ajaib. Setiap ruangan punya fungsi khusus. Ayo kita jelajahi ruangan-ruangan yang paling sering kita gunakan!

🎯 Tujuan Kita: Mengenal folder-folder utama di Laravel sehingga nanti saat kita membuat kategori, berita, komentar, login, kita tahu harus menaruh file di mana.

Peta Singkat Istana Laravel

📁 app/
Ruangan paling penting. Tempat logika aplikasi (controller, model) tinggal. Di sinilah kita akan membuat aturan-aturan situs berita.
📁 routes/
Papan petunjuk jalan. Setiap alamat URL (seperti /berita) diatur di sini. Menghubungkan "jalan" dengan "ruangan" (controller).
📁 resources/views/
Ruangan tampilan. Semua halaman yang dilihat pengguna (HTML, CSS) dibuat di sini. Nanti kita buat halaman berita, kategori, dll.
📁 database/migrations/
Arsip pembuatan meja (tabel). Di sini kita akan membuat struktur tabel untuk kategori, berita, komentar, user.
📁 public/
Pintu masuk istana. Folder ini yang bisa diakses oleh dunia luar. Tempat menyimpan gambar, CSS, JavaScript yang akan ditampilkan.
📄 .env
Rahasia istana (Environment). Berisi kunci-kunci seperti nama database, password, dll. Jangan pernah bagikan file ini!

Penjelasan Lebih Detail

🧠 app/ – Otak dari Aplikasi

Folder app/ adalah tempat kita menulis kode yang mengatur bagaimana data diproses. Di dalamnya ada beberapa sub-folder penting:

  • app/Models/ – Tempat membuat model, yaitu "cetakan" untuk data. Contoh: nanti kita buat model Category, News, Comment.
  • app/Http/Controllers/ – Tempat membuat controller, yaitu "kapten" yang mengatur lalu lintas data dari URL ke database dan tampilan.
  • app/Http/Middleware/ – Tempat penjaga pintu (seperti cek login atau tidak).
💡 Analogi: Model seperti cetakan kue (menentukan bentuk kue), Controller seperti tukang kue yang membuat kue sesuai pesanan, dan View adalah kue yang disajikan.
🗺️ routes/ – Papan Petunjuk Jalan

Folder ini berisi file-file yang mengatur URL. Yang paling sering kita pakai:

  • web.php – Semua alamat untuk website biasa (yang dilihat manusia) ditulis di sini. Contoh: / untuk halaman utama, /berita/1 untuk detail berita.
  • api.php – Untuk alamat API (khusus programmer), kita tidak akan pakai dulu.

Di sinilah kita akan membuat rute seperti /kategori, /berita/create, dll.

🎨 resources/views/ – Tempat Membuat Tampilan

Folder resources/views/ adalah tempat semua file tampilan (HTML) yang akan dilihat pengunjung. Laravel menggunakan sistem Blade (file dengan ekstensi .blade.php) yang memudahkan kita menyisipkan data PHP ke HTML.

Kita akan membuat file-file seperti:

  • home.blade.php – halaman utama daftar berita
  • news.blade.php – halaman detail berita
  • categories/index.blade.php – daftar kategori (admin)
  • dan lain-lain.

Di sini juga ada folder layouts/ untuk membuat kerangka halaman yang sama (header, footer) agar tidak repot menulis ulang.

🗄️ database/ – Gudang Penyimpanan Data

Folder ini berisi semua yang berhubungan dengan database:

  • database/migrations/ – File "rencana" pembuatan tabel. Migrasi seperti blueprint yang akan dijalankan untuk membuat tabel categories, news, comments, dan users.
  • database/seeders/ – Tempat membuat data contoh (dummy) untuk diisi ke tabel, agar kita bisa tes sebelum ada data asli.

Nanti kita akan sering ke sini untuk membuat migrasi (tabel).

🌐 public/ – Pintu Gerbang

Folder public/ adalah satu-satunya folder yang bisa diakses langsung oleh internet (atau browser). Di sini kita taruh:

  • Gambar berita (melalui sistem storage nanti)
  • File CSS, JavaScript (biasanya menggunakan npm run build)
  • File index.php – file ini yang pertama kali dijalankan saat seseorang mengunjungi website kita.
⚠️ Ingat: Jangan pernah menaruh file penting seperti .env di folder public, karena bisa diakses orang lain!
🔐 .env – Kode Rahasia

File .env (environment) berisi konfigurasi rahasia yang berbeda untuk setiap komputer. Contoh isinya:

APP_NAME="Situs Berita"
APP_URL=http://localhost:8000

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=situs_berita
DB_USERNAME=root
DB_PASSWORD=

Di sini kita akan mengatur nama database, username/password, dan pengaturan lainnya. File ini jangan pernah diupload ke internet karena bisa dibajak.

Folder Lain yang Perlu Tahu

  • config/ – Tempat pengaturan aplikasi (seperti waktu, cache, dll). Nanti kita mungkin edit untuk mengatur upload file.
  • storage/ – Tempat menyimpan file yang diupload oleh pengguna (gambar berita, dll) dan log sistem. Di sini juga ada folder app/public yang akan kita link ke public/storage agar gambar bisa diakses.
  • tests/ – Tempat menulis tes otomatis (untuk programmer tingkat lanjut). Kita tidak akan sentuh dulu.
  • node_modules/ – Folder yang muncul jika kita menginstall package JavaScript (untuk frontend modern). Kita tidak akan bahas sekarang.

Ringkasan Singkat (Untuk Diingat)

📌 Hafalkan 5 Folder Utama:
app/ → kode logika (Controller, Model)
routes/ → alamat URL (web.php)
resources/views/ → tampilan halaman (HTML)
database/migrations/ → struktur tabel database
public/ → gambar, CSS, file yang bisa dilihat publik
.env → rahasia database

Apa Selanjutnya?

Sekarang kita sudah punya peta. Di tutorial berikutnya, kita akan mulai membangun database. Kita akan membuat tabel kategori (categories) sebagai langkah pertama CRUD. Pastikan Laragon dan proyek kita siap!

📖 Latihan Kecil: Coba buka file .env di proyek situs-berita menggunakan text editor (seperti Notepad, VS Code). Lihat isinya. Jangan ubah dulu, hanya baca. Ini akan membantu kamu merasa lebih akrab dengan struktur.

📝 Seri Tutorial Laravel 13 Pemula – Proyek Web Berita
✨ Selanjutnya: #4: Menyambungkan ke Pangkalan Data – Setting File .env dan Membuat Database

Lebih baru Lebih lama

نموذج الاتصال