Controller pada framework yang mengusung konsep MVC (Model, View, Controller) merupakan hal dasar yang harus kamu pahami sebelum belajar Laravel ke tahap selanjutnya. Sebelumnya kita sudah belajar membuat View. Jadi, saatnya kita menuju ke tahap selanjutnya yaitu belajar membuat Controller.
Pengertian Controller pada Laravel
Apa itu controller? controller dalam konsep MVC merupakan jembatan penghubung antara view dan model. Controller memiliki peranan yang paling sibuk karena tugas controller adalah sebagai penghubung antara dua hal tersebut. Di dalam controller inilah kita dapat membuat penerapan logika (coding) atau pengolahan data (tabel database). Kemudian hasil dari controller tersebut ditampilkan pada view.
Baca juga.
Belajar Route & View pada Laravel
Cara Membuat Controller pada Laravel
Sangat mudah untuk membuat controller pada Laravel. Karena saking mudahnya terdapat dua cara untuk membuat controller. Cara yang pertama adalah membuat file controller secara langsung pada direktori app/Http/Controllers, sedangkan cara yang kedua menggunakan perintah php artisan.
Cara Pertama
Kita akan mencoba cara yang pertama lebih dahulu, yaitu membuat secara langsung file controller pada direktori app/Http/Controllers. Kita akan mengikuti style penulisan Laravel. Jadi, kita akan membuat huruf kapital di awal nama controller.
Buat file baru bernama PegawaiController.php pada direktori app/Http/Controllers.
Kemudian buatlah kode seperti berikut pada file PegawaiController.php.
app/Http/Controllers/PegawaiController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PegawaiController extends Controller
{
// isi controller pegawai
}
Coba perhatikan gambar di bawah ini. Kita telah mendeklarasikan class controller PegawaiController dan wajib meng-extends class Controller dari Laravel.
Controller cara pertama berhasil dibuat, saatnya kita mencoba membuat controller pakai cara kedua.
Cara Kedua (Direkomendasikan)
Cara kedua ini sangat berbeda dengan cara kuno seperti pada cara pertama di atas. Kita akan menggunakan sebuah command ajaib bernama php artisan.
php artisan adalah fitur unggulan Laravel yang dibuat untuk memudahkan pengembangan aplikasi yang kita buat. Ada banyak sekali perintah yang bisa digunakan pada php artisan, untuk membuktikan, jalankan perintah php artisan pada terminal/command prompt direktori project Laravel.
Baiklah, sekarang kita akan mencoba membuat controller dengan perintah php artisan. Controller yang akan kita buat bernama DosenController.
Untuk membuat controller dengan nama DosenController, silakan masuk ke direktori project laravel dan jalankan command berikut ini.
php artisan make:controller DosenController
Perintah make:controller adalah perintah untuk membuat controller baru, sedangkan DosenController adalah nama controller.
Silakan cek direktori app/Http/Controllers, DosenController.php sudah dibuat secara otomatis.
Karena percobaan membuat dua buah controller dengan cara berbeda sudah selesai, selanjutnya kita akan coba belajar menggunakan controller.
Cara Menggunakan Controller
Kita akan mencoba menggunakan controller yang sederhana. Sebelum itu, kita harus membuat route baru yang digunakan untuk mengakses controller.
Buka file web.php pada folder routes, tambahkan baris kode berikut ini paling atas.
routes/web.php
use App\Http\Controllers\DosenController;
Kemudian tambahkan baris kode berikut ini paling bawah.
Route::get('/dosen', [DosenController::class, 'index']);
Maka kode lengkapnya akan seperti gambar berikut ini.
Perhatikan kode di atas, maksudnya adalah pada saat url /dosen diakes, method/function index pada DosenController akan dijalankan.
Karena DosenController masih kosong, mari kita buat method/function index dalam DosenController.
Buka file DosenController.php dan isikan seperti kode di bawah ini.
app/Http/Controllers/DosenController.php
public function index() {
return "Halo, ini adalah method/function index di dalam DosenController. aantamim.ID";
}
Sehingga kode lengkap dari DosenController.php akan seperti berikut ini.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class DosenController extends Controller
{
public function index() {
return "Halo, ini adalah method/function index di dalam DosenController. aantamim.ID";
}
}
Simpan dan akses 127.0.0.1:8000/dosen pada web browser.
Selesai sudah tutorial membuat controller pada Laravel dengan dua cara yang berbeda. Buat kamu yang ingin baca dokumentasi tentang controller pada Laravel, silakan baca pada link di bawah ini.