Memahami Struktur Direktori app dalam Laravel

  • author-image

    Kurnia Andi Nugroho

  • blog-tag belajar laravel, laravel pemula, tutorial laravel
  • blog-comment 0 comment
  • dilihat 223 kali
  • 28 May, 2025
blog-thumbnail

Laravel adalah framework PHP modern yang menawarkan arsitektur bersih dan terstruktur. Salah satu folder inti yang sangat penting dalam proyek Laravel adalah direktori app. Folder ini merupakan tempat utama untuk menyimpan kode logika aplikasi, termasuk model, service, dan berbagai class buatan pengguna.

Lokasi Direktori app


Secara default, folder app berada di root dari struktur proyek Laravel:

project-root/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
├── tests/
└── vendor/

Isi Default Direktori app


Secara bawaan, Laravel menyediakan beberapa subfolder dalam app/:

1. Console/

Berisi command line kustom yang bisa dijalankan lewat Artisan.

Contoh file:

  • Kernel.php: Mengatur command yang dijalankan terjadwal.

2. Exceptions/

Menangani exception atau error pada aplikasi.

Contoh file:

  • Handler.php: Menentukan bagaimana exception ditangani dan ditampilkan.

3. Http/

Folder utama untuk logika web: controller, middleware, dan form request.

Subfolder penting:

  • Controllers/: Menyimpan controller seperti UserController.php.
  • Middleware/: Middleware untuk autentikasi, otorisasi, dll.
  • Requests/: Validasi request khusus menggunakan Form Request.

4. Models/

Model Eloquent untuk representasi data dalam database.

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    protected $fillable = ['title', 'content'];
}

5. Providers/

Berisi service provider yang digunakan untuk bootstrapping komponen aplikasi.

Contoh file:

  • AppServiceProvider.php
  • RouteServiceProvider.php

Penambahan Direktori Sendiri


Kita bebas membuat folder tambahan di dalam app/ untuk struktur yang lebih modular. Contoh:

  • Services/: Untuk logika bisnis.
  • Repositories/: Untuk manajemen query database kompleks.
  • Helpers/: Fungsi global atau utilitas.

Contoh penggunaan folder Services/:

namespace App\Services;

class PaymentService {
    public function process($data) {
        // logika pemrosesan pembayaran
    }
}

Kesimpulan


Direktori app dalam Laravel adalah inti dari semua logika aplikasi. Dengan memahami isi dan perannya, developer dapat mengelola dan mengembangkan aplikasi Laravel dengan lebih rapi, terstruktur, dan skalabel. Menjaga keteraturan folder app juga akan sangat membantu ketika proyek mulai berkembang menjadi lebih kompleks.

author_photo
Kurnia Andi Nugroho

Web & Mobile App Developer, Laravel, Inertia, Vue.Js, React.Js

Founder of Lagikoding.com Laravel Enthusiast & Web Developer