Kurnia Andi Nugroho
belajar laravel, laravel pemula, tutorial laravel
0 comment
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.
appSecara default, folder app berada di root dari struktur proyek Laravel:
project-root/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
├── tests/
└── vendor/
appSecara bawaan, Laravel menyediakan beberapa subfolder dalam app/:
Console/Berisi command line kustom yang bisa dijalankan lewat Artisan.
Contoh file:
Kernel.php: Mengatur command yang dijalankan terjadwal.Exceptions/Menangani exception atau error pada aplikasi.
Contoh file:
Handler.php: Menentukan bagaimana exception ditangani dan ditampilkan.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.Models/Model Eloquent untuk representasi data dalam database.
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $fillable = ['title', 'content'];
}
Providers/Berisi service provider yang digunakan untuk bootstrapping komponen aplikasi.
Contoh file:
AppServiceProvider.phpRouteServiceProvider.phpKita 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
}
}
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.
Kurnia Andi Nugroho
Web & Mobile App Developer, Laravel, Inertia, Vue.Js, React.Js
Founder of Lagikoding.com Laravel Enthusiast & Web Developer