Konsep MVC dan Routing Laravel
Memahami arsitektur MVC dan implementasi Routing pada Laravel sebagai dasar pengembangan aplikasi web
1. Konsep MVC Laravel
Laravel menggunakan arsitektur MVC (Model View Controller) untuk memisahkan logika aplikasi, tampilan, dan pengolahan data.
Dengan pendekatan ini aplikasi menjadi lebih terstruktur, mudah dikembangkan, dan mudah dipelihara.
MVC terdiri dari tiga komponen utama:
- Model → Mengelola database
- View → Tampilan user
- Controller → Logika aplikasi
2. Alur Kerja MVC Laravel
Ketika user mengakses URL, Laravel akan memproses request melalui Route, kemudian diteruskan ke Controller.
Controller akan mengambil data dari Model lalu mengirimkan ke View untuk ditampilkan ke user.
User → Route → Controller → Model → Database
↓
View
3. Struktur Folder MVC Laravel
Laravel telah menyediakan struktur folder sesuai konsep MVC.
Model
app/Models/
View
resources/views/
Controller
app/Http/Controllers/
4. Contoh Implementasi MVC Laravel
Langkah pertama membuat controller yang akan mengatur logika aplikasi.
php artisan make:controller HomeController
HomeController.php
public function index()
{
return view(‘home’);
}
Selanjutnya membuat view yang akan ditampilkan ke user.
resources/views/home.blade.php
<h1>Selamat Datang di Laravel</h1>
Terakhir membuat route yang menghubungkan URL dengan controller.
routes/web.php
use App\Http\Controllers\HomeController;
Route::get(‘/home’, [HomeController::class, ‘index’]);
5. Konsep Routing Laravel
Routing adalah mekanisme untuk menghubungkan URL dengan fungsi atau controller.
Semua routing Laravel didefinisikan pada file routes/web.php.
routes/web.php
6. Routing Dasar Laravel
Routing dasar digunakan untuk menampilkan respon langsung tanpa controller.
Route::get(‘/’, function () {
return “Hello Laravel”;
});
7. Routing ke Controller
Routing ke controller digunakan untuk memisahkan logika aplikasi dari file route.
use App\Http\Controllers\HomeController;
Route::get(‘/home’, [HomeController::class, ‘index’]);
8. Routing Parameter
Routing parameter digunakan untuk mengirim data melalui URL.
Route::get(‘/user/{id}’, function ($id) {
return $id;
});
Contoh URL
/user/10
9. Routing Method POST
Routing POST digunakan untuk menerima data dari form.
Route::post(‘/simpan’, function () {
return “data tersimpan”;
});
10. Routing Group
Routing group digunakan untuk mengelompokkan route dengan prefix tertentu.
Route::prefix(‘admin’)->group(function () {
Route::get(‘/dashboard’, function(){
return “dashboard”;
});
});
URL
/admin/dashboard
11. Route Resource Laravel
Route resource digunakan untuk membuat routing CRUD secara otomatis.
Route::resource(‘mahasiswa’, MahasiswaController::class);
Route yang dibuat otomatis:
GET /mahasiswa
GET /mahasiswa/create
POST /mahasiswa
GET /mahasiswa/{id}
GET /mahasiswa/{id}/edit
PUT /mahasiswa/{id}
DELETE /mahasiswa/{id}
12. Melihat Daftar Routing
Laravel menyediakan perintah untuk melihat semua routing yang telah dibuat.
php artisan route:list
Mahasiswa telah memahami:
- Konsep MVC Laravel
- Alur kerja MVC
- Struktur folder MVC
- Routing dasar
- Routing controller
- Routing parameter
- Routing group
- Route resource
