Laravel 11: Struktur Folder (Part 3) - Memahami Struktur Folder Laravel untuk Pemula - JavaraDigital

Laravel 11: Struktur Folder (Part 3) - Memahami Struktur Folder Laravel untuk Pemula

Laravel 11: Struktur Folder (Part 3) - Memahami Struktur Folder Laravel untuk Pemula

Pada artikel ini, kita akan membahas tentang struktur folder di Laravel 11, dengan penjelasan yang mudah dimengerti, terutama bagi kamu yang baru pertama kali mengenal Laravel. Di bagian ini, kita akan fokus pada bagian-bagian penting dalam struktur folder Laravel yang sering digunakan untuk mengembangkan aplikasi web.


Jika anda belum membaca artikel part 1 dan part 2 anda bisa membaca nya terlebih dahulu disini

1. Pengenalan Laravel

Laravel adalah framework PHP yang sangat populer dan digunakan untuk membangun aplikasi web. Salah satu keunggulan Laravel adalah kemudahan dalam penggunaan dan pengorganisasian kode. Salah satu bagian penting dalam Laravel adalah struktur folder atau struktur direktori yang digunakan untuk mengatur file-file proyek.

2. Struktur Folder Laravel Secara Umum

Di Laravel, struktur folder diatur sedemikian rupa agar kode tetap terorganisir dengan baik. Ini sangat membantu dalam pengembangan aplikasi yang besar dan kompleks. Struktur folder Laravel 11 yang baru tidak jauh berbeda dengan versi sebelumnya. Berikut adalah gambaran umum tentang struktur folder Laravel:

- app/
- bootstrap/
- config/
- database/
- public/
- resources/
- routes/
- storage/
- tests/
- .env
- artisan

3. Folder-folder Penting dalam Laravel

Mari kita bahas folder-folder penting dalam Laravel, dan apa fungsinya dalam pengembangan aplikasi.

a. app/ (Aplikasi)

Folder ini adalah tempat di mana sebagian besar kode aplikasi kamu berada. Di sini, kamu akan menemukan berbagai file dan subfolder yang mengorganisir logika bisnis aplikasi. Beberapa folder penting di dalam app/ adalah:

  • Http/: Tempat controller dan middleware kamu berada.
  • Models/: Tempat model aplikasi berada (misalnya User.php, yang berfungsi untuk berinteraksi dengan database).
  • Console/: Di sini, kamu bisa membuat command-line commands untuk menjalankan tugas tertentu dalam aplikasi.
  • Providers/: Menyimpan service providers yang membantu dalam bootstrapping aplikasi.

Contoh:

  • File app/Http/Controllers/Controller.php berfungsi untuk mengontrol alur data aplikasi dan memberikan respon ke pengguna.
  • File app/Models/User.php berfungsi untuk berinteraksi dengan tabel users di database.

b. bootstrap/ (Bootstrap Aplikasi)

Folder ini berisi file yang mengatur pengaturan awal aplikasi saat pertama kali dijalankan. File utama di folder ini adalah app.php yang berfungsi untuk menginisialisasi aplikasi.

Contoh:

  • bootstrap/app.php berfungsi untuk menginisialisasi pengaturan aplikasi Laravel.

c. config/ (Konfigurasi Aplikasi)

Folder ini berisi berbagai file konfigurasi untuk pengaturan aplikasi, seperti database, cache, session, dan lainnya. Setiap file di dalam folder ini biasanya bertanggung jawab untuk mengkonfigurasi layanan tertentu.

Contoh:

  • config/database.php: Mengatur pengaturan koneksi database.
  • config/app.php: Mengatur pengaturan umum aplikasi seperti timezone dan locale.

d. database/ (Database)

Folder ini berisi file yang terkait dengan database aplikasi kamu. Di sini, kamu akan menemukan dua subfolder penting:

  • migrations/: Tempat file migrasi yang digunakan untuk mengatur struktur tabel di database.
  • factories/: Tempat kamu mendefinisikan data palsu untuk keperluan pengujian.
  • seeds/: Digunakan untuk mengisi data awal ke dalam database.

Contoh:

  • File migrasi di database/migrations/ memungkinkan kamu untuk membuat atau memodifikasi tabel di database.
  • File seed di database/seeds/ bisa digunakan untuk memasukkan data dummy (contoh: daftar pengguna).

e. public/ (Folder Publik)

Folder public/ adalah tempat aplikasi Laravel bisa diakses oleh pengguna melalui browser. Di dalam folder ini, kamu akan menemukan file seperti index.php yang merupakan entry point untuk aplikasi Laravel. Semua file yang ingin diakses publik (gambar, CSS, JS) harus disimpan di dalam folder ini.

Contoh:

  • public/index.php: Merupakan titik masuk utama aplikasi Laravel.
  • public/css/ dan public/js/: Tempat menyimpan file CSS dan JavaScript untuk tampilan aplikasi.

f. resources/ (Sumber Daya)

Folder ini berisi sumber daya untuk aplikasi kamu, seperti tampilan (views), file bahasa (localization), dan file aset lainnya.

  • views/: Menyimpan file template untuk tampilan antarmuka pengguna aplikasi.
  • lang/: Tempat file bahasa untuk aplikasi multi-bahasa.
  • sass/ dan js/: Menyimpan file SCSS/SASS atau JavaScript yang akan dikompilasi menjadi file yang siap digunakan.

Contoh:

  • File resources/views/welcome.blade.php adalah file view yang digunakan untuk menampilkan halaman beranda aplikasi.

g. routes/ (Rute)

Folder ini berisi file yang mengatur rute aplikasi, yang menentukan URL apa yang akan diproses oleh aplikasi dan controller mana yang akan menangani permintaan tersebut.

  • web.php: Mengatur rute untuk aplikasi berbasis web.
  • api.php: Mengatur rute untuk API aplikasi.

Contoh:

  • routes/web.php mengatur rute yang dapat diakses oleh pengguna melalui browser.
  • routes/api.php mengatur rute untuk API, seperti endpoint untuk mengakses data.

h. storage/ (Penyimpanan)

Folder ini digunakan untuk menyimpan file yang dihasilkan atau digunakan oleh aplikasi, seperti file log, file cache, atau file yang diunggah pengguna. Di dalam folder ini terdapat subfolder penting:

  • logs/: Menyimpan log aplikasi.
  • framework/: Menyimpan cache dan session.
  • app/: Menyimpan file-file yang diunggah oleh pengguna.

Contoh:

  • File log di storage/logs/laravel.log mencatat informasi tentang kesalahan atau aktivitas aplikasi.

i. tests/ (Pengujian)

Folder ini berisi file-file pengujian untuk memastikan aplikasi berjalan sesuai dengan harapan. Laravel dilengkapi dengan fitur pengujian bawaan yang memungkinkan kamu untuk menulis dan menjalankan pengujian secara otomatis.

Contoh:

  • tests/Feature/ExampleTest.php adalah file pengujian yang memeriksa apakah aplikasi berjalan dengan benar.

4. File Penting Lainnya

Selain folder-folder di atas, ada beberapa file penting yang perlu kamu ketahui:

  • .env: File konfigurasi lingkungan aplikasi (environment), seperti pengaturan database, API keys, dan lainnya.
  • artisan: Skrip command-line untuk menjalankan berbagai perintah di Laravel, seperti migrasi database atau menjalankan server pengembangan.
  • composer.json: Berisi informasi tentang dependensi yang digunakan aplikasi, dan file ini digunakan oleh Composer untuk mengelola paket PHP.

5. Kesimpulan

Struktur folder di Laravel 11 dirancang untuk membuat pengembangan aplikasi menjadi lebih terorganisir dan mudah dipelihara. Dengan memahami setiap folder dan fungsinya, kamu dapat lebih mudah mengembangkan aplikasi Laravel yang besar dan kompleks. Jika kamu baru memulai, jangan khawatir jika tampaknya banyak folder dan fileβ€”seiring berjalannya waktu, kamu akan lebih terbiasa dengan pengaturannya.

Semoga artikel ini membantu kamu dalam memahami struktur folder Laravel dengan lebih baik! Jangan ragu untuk melanjutkan pembelajaranmu dan mencoba membuat aplikasi Laravel pertama kamu!

Dengan artikel ini, diharapkan pemula dapat memahami struktur folder Laravel dan fungsinya dengan jelas. Jika ada bagian yang kurang jelas atau kamu ingin membahas lebih lanjut, jangan ragu untuk bertanya!