Mahasiswa mampu memahami struktur folder Laravel, mengetahui fungsi setiap direktori penting, serta memahami penggunaan file konfigurasi utama pada framework Laravel.
Framework Laravel memiliki struktur folder yang terorganisir dan mengikuti konsep MVC (Model View Controller). Struktur ini dirancang agar pengembangan aplikasi menjadi:
Memahami struktur folder Laravel merupakan dasar penting sebelum membuat aplikasi web menggunakan Laravel.
Folder:
app/
merupakan folder utama yang berisi logic atau inti aplikasi Laravel.
Folder ini digunakan untuk:
Contoh isi folder:
app/
├── Http/
├── Models/
├── Providers/
Folder:
app/Http/
digunakan untuk:
Lokasi:
app/Http/Controllers/
Controller digunakan untuk:
Contoh controller:
<?php
namespace App\Http\Controllers;
class HomeController extends Controller
{
public function index()
{
return view('home');
}
}
Lokasi:
app/Models/
Model digunakan untuk:
Contoh model:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
}
Lokasi:
app/Http/Middleware/
Middleware digunakan untuk:
| Folder | Fungsi |
|---|---|
| Controllers | Mengatur logic aplikasi |
| Models | Mengelola database |
| Middleware | Filter request |
| Providers | Registrasi service Laravel |
Folder:
routes/
digunakan untuk mengatur seluruh URL atau endpoint aplikasi Laravel.
Routing menentukan:
| File | Fungsi |
|---|---|
| web.php | Routing website |
| api.php | Routing API |
| console.php | Command artisan |
| channels.php | Broadcasting |
Lokasi:
routes/web.php
Digunakan untuk routing website biasa.
Contoh:
Route::get('/', function () {
return view('welcome');
});
Bagian route:
| Bagian | Fungsi |
|---|---|
| Route::get | Method GET |
| / | URL |
| function() | Logic |
| return | Output |
Contoh:
Route::get('/about', function () {
return 'Halaman About';
});
Akses:
http://127.0.0.1:8000/about
Contoh:
use App\Http\Controllers\HomeController;
Route::get('/home', [HomeController::class, 'index']);
Folder:
resources/
digunakan untuk menyimpan:
resources/
├── css/
├── js/
├── views/
Lokasi:
resources/views/
Digunakan untuk:
Laravel menggunakan:
Format file:
.blade.php
Contoh:
home.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Laravel</title>
</head>
<body>
<h1>Selamat Datang</h1>
</body>
</html>
Route::get('/home', function () {
return view('home');
});
| Folder | Fungsi |
|---|---|
| css | File CSS |
| js | File JavaScript |
Folder:
public/
merupakan folder yang dapat diakses langsung oleh browser.
Folder ini menjadi:
Digunakan untuk menyimpan:
Lokasi:
public/index.php
File ini adalah:
Semua request website akan melewati file ini.
public/
├── css/
├── js/
├── images/
├── index.php
Contoh:
<img src="{{ asset('images/logo.png') }}">
File:
.env
digunakan untuk:
Berisi:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:xxxxx
APP_DEBUG=true
APP_URL=http://localhost
Contoh:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
| Konfigurasi | Fungsi |
|---|---|
| APP_NAME | Nama aplikasi |
| APP_DEBUG | Mode debug |
| DB_DATABASE | Nama database |
| APP_URL | URL aplikasi |
File:
artisan
merupakan command line interface Laravel.
Digunakan untuk:
Contoh:
php artisan serve
| Command | Fungsi |
|---|---|
| php artisan serve | Menjalankan server |
| php artisan make:controller | Membuat controller |
| php artisan make:model | Membuat model |
| php artisan migrate | Menjalankan migration |
php artisan make:controller HomeController
php artisan make:model Produk
Buat file:
resources/views/profil.blade.php
Isi:
<h1>Halaman Profil Mahasiswa</h1>
Tambahkan pada:
routes/web.php
Kode:
Route::get('/profil', function () {
return view('profil');
});
Command:
php artisan make:controller MahasiswaController
Laravel memiliki struktur folder yang terorganisir untuk mempermudah pengembangan aplikasi web. Dengan memahami fungsi folder app, routes, resources, public, serta file .env dan artisan, mahasiswa dapat mengembangkan aplikasi Laravel secara lebih sistematis, terstruktur, dan profesional.