Pengertian Controller Pada Laravel
Laravel Controller merupakan salah satu bagian dimana seluruh fungsional web dibuat. Pada Controller dilakukan pengaturan untuk mengakses Model terkait dengan Database dan juga bagaimana mengirimkan datanya ke View, berbagai pemrosesan juga dilakukan di dalam Controller.
Controller adalah salah satu komponen inti dari MVC yang berfungsi sebagai penghubung antara request user (View) ke model yang nantinya akan di kembalikan lagi ke View dalam bentuk response.
Controller ini akan banyak berisi logika-logika dalam menyusun suatu fungsi tertentu, contohnya adalah aktivitas CRUD (Create, Read, Update, Delete) yang prosesnya berjalan di dalam Controller.
Controller merupakan jembatan atau penghubung antara view dan model, controller bisa kita pahami sebagai pengatur view dan model, controller sendiri biasanya berperan sebagai pengolah data.
Mungkin di beberapa contoh kasus, kita memerlukan penerapan logika atau pengolahan data, maka controller lah yang berperan, baru kemudian di tampilkan ke bagian view (user interface) aplikasi atau project kita. Controller laravel berada di dalam folder app/Http/Controllers/.
Untuk mempelajari lebih mendalam tentang controller laravel bisa membaca dokumentasi tentang laravel di https://laravel.com/docs/11.x/controllers .
Cara Membuat Controller pada Laravel
Ada 2 cara membuat controller pada laravel, yang pertama kita bisa membuat controller laravel dengan cara membuat langsung file controller baru nya dalam folder app/Http/Controllers/ dan cara yang kedua kita bisa menggunakan perintah php artisan dari laravel.
Cara Pertama
Cara yang pertama, yaitu membuat controller laravel dengan membuat langsung file controller barunya dalam folder controllers, di sini kita akan mengikuti format penulisan di laravel, jadi kita akan membuat nama controller nya dengan huruf besar (kapital) di awal setiap kata nama controllernya.
Misalnya di sini kita akan membuat controller guru, buat file baru dengan nama GuruController.php dalam folder controllers dengan sintak seperti berikut ini :
latihan_laravel/app/Http/Controllers/GuruController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class GuruController extends Controller
{
//di sini isi controller guru
}
Perhatikan syntax di atas, pada syntax di atas kita mendeklarasikan class controller GuruController, dengan wajib meng-extends Controller dari laravel, dan perhatikan penulisan classnya, kita wajib menulisakan nama file controller guru dengan benar.

Cara Kedua
Cara kedua untuk membuat controller pada laravel ialah kita bisa membuat controller laravel dengan mudah menggunakan php artisan. Php artisan merupakan salah satu fitur keren dari laravel, kita bisa membuat dan mengontrol project kita dengan bantuan php artisan.
php artisan adalah fitur unggulan yang ada pada laravel, yang dibuat untuk memudahkan kita dalam pengembangan menggunakan laravel.
Ada banyak sekali yang bisa kita lakukan dengan php artisan, coba ketik php artisan pada terminal, maka akan tampil perintah-perintah yang tersedia di php artisan. Salah satunya kita bisa membuat controller secara otomatis menggunakan perintah php artisan.
Sekarang kita akan mencoba membuat controller baru lagi dengan menggunakan perintah php artisan, kita akan membuat controller dengan nama SiswaController.php.
Pertama kita buka Visual Studio Code dan buka folder project latihan_laravel dan buka terminal yang ada pada Visual Studio Code.
Pada terminal ketik perintah :
php artisan make:controller SiswaController
Perintah make:controller di atas adalah perintah php artisan untuk membuat controller, dan SiswaController adalah nama controller yang ingin kita buat.

Maka controller SiswaController.php akan dibuat secara otomatis.

Cara Menggunakan Controller Laravel
Di contoh ini kita akan membuat contoh penggunaan controller sederhana, dengan cara memanggil controller dari route.
Sekarang kita coba buka file web.php nya lagi yang terletak dalam folder routes, kita buat route baru lagi untuk mencoba mengakses atau memanggil controller dari route dengan perintah seperti berikut ini :
latihan_laravel/routes/web.php
Route::get('/siswa', [SiswaController::class,'siswatampil');
Untuk cara penulisannya, kita ketikan secara bertahap, jika muncul kita tekan enter atau klik nama controller tersebut, supaya controller-nya ter-import secara otomatis, sehingga controller-nya tidak diketik secara manual.

Sintak route di atas maksudnya adalah, pada saat url “/siswa” diakses, maka kita memerintahkan untuk menjalankan method/function siswatampil() yang ada dalam controller SiswaController.
Karena controller SiswaController masih kosong, maka kita bikin method atau function siswatampil() dalam controller SiswaController.
Buka file controller SiswaController.php, sehingga keseluruhan isi file SiswaController.php akan menjadi :
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SiswaController extends Controller
{
public function siswatampil()
{
return "Halo ini adalah method index, dalam controller SiswaController";
}
}
Seperti yang sudah kita tetapkan pada Route Siswa, pada saat route siswa di akses, maka yang dijalankan adalah method/function siswatampil() yang ada dalam controller SiswaController.php. Pada saat dijalankan pada web browser untuk melihat hasilnya dengan cara mengakses alamat http://localhost:8000/siswa atau http://localhost/latihan_laravel/siswa.
Sesuai dengan yang kita buat dalam function siswatampil() dalam controller SiswaController, kita me-return string “halo ini adalah method index, dalam controller SiswaController”, maka tampilannya akan seperti berikut ini :

Demikian tutorial tentang controller pada Laravel 11, selanjutnya kita akan mempelajari sintak-sintak artisan pada Laravel.