Tutorial Sebelumnya:
Tutorial Laravel #4: Membuat Route dan View pada Laravel
Apa itu Controller?
Pengertian Controller pada Laravel – Controller dalam konsep MVC merupakan jembatan penghubung antara view dan model. Sederhananya controller bisa kita pahami sebagai pengatur View dan Model. Di dalam controller inilah kita dapat membuat penerapan logika atau pengolahan data, kemudian hasil dari controller tersebut ditampilkan pada view.
Cara Membuat Controller Laravel
Ada 2 cara membuat controller pada laravel, yang pertama kita bisa membuat controller laravel dengan cara membuat langsung file controller baru dalam folder app/Http/Controllers/
. Kemudian cara yang kedua kita bisa menggunakan perintah php artisan dari laravel.
1. Membuat Controller Laravel dengan file baru
Kita akan mencoba cara yang pertama, yaitu membuat langsung file controller pada direktori app/Http/Controllers
. Aturan penamaan controller pada Laravel adalah dengan membuat huruf kapital di awal nama controller.
Misal kita akan membuat controller dengan nama controllernya adalah santri, maka buat file baru dengan nama SantriController.php dalam folder app/Http/Controllers
.
Kemudian buatlah kode seperti berikut pada file SantriController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class SantriController extends Controller { //di sini isi controller Santri }
Perhatikan kode di atas, kita mendeklarasikan class controller SantriController dengan wajib meng-extends Controller dari laravel. Perhatikan juga penulisan classnya, penulisan class controllernya harus sama dengan nama file controller yang kita buat.
Sampai di sini kita telah selesai membuat controller pada laravel dengan cara pertama. Kita lanjut membuat controller dengan cara kedua.
2. Membuat Controller Laravel dengan php artisan
Cara kedua untuk membuat controller pada laravel adalah kita bisa membuat controller laravel dengan mudah dengan menggunakan command 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 pada direktori project Laravel.
Menjalankan php-artisan:
Perintah-perintah di php-artisan yang dapat digunakan:
Akan ada penjelasan lebih banyak lagi pada tutorial selanjutnya tentang php artisan.
Sekarang kita akan mencoba membuat controller dengan perintah php artisan make controller. Controller yang akan kita buat bernama SantriController.
Silahkan masuk ke direktori project laravel dan jalankan command berikut ini:
php artisan make:controller SantriController
Perintah make:controller adalah perintah untuk membuat controller baru, sedangkan SantriController adalah nama controller. Maka controller SantriController.php akan dibuat secara otomatis.
Kita telah selesai belajar membuat controller laravel dengan kedua cara diatas. Jika dibandingkan dengan cara pertama tadi, cara kedua sangat mudah sehingga paling direkomendasikan untuk membuat controller laravel menggunakan php artisan.
Cara Menggunakan Controller Laravel
Selanjutnya kita akan belajar menggunakan Controller Laravel.
Pertama kita harus membuat route baru yang digunakan untuk mengakses controller.
Buka file web.php pada folder routes, tambahkan baris kode berikut ini paling atas:
use App\Http\Controllers\SantriController;
Kemudian buat route baru untuk mengakses SantriController, tambahkan kode berikut ini di paling bawah:
Route::get('santri', [SantriController::class, 'index']);
Perhatikan kode di atas, maksudnya adalah pada saat url santri diakes pada web browser, maka method/function index pada SantriController akan dijalankan.
Kode lengkap route kita pada file web.php akan seperti berikut:
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\SantriController; /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ Route::get('/', function () { return view('welcome'); }); Route::get('blog', function () { return view('blog'); }); Route::get('santri', [SantriController::class, 'index']);
Langkah selanjutnya kita buat function index dalam SantriController yang sudah kita buat. Buka file SantriController.php dan isikan seperti kode di bawah ini:
public function index() { return view('santri'); }
Sehingga kode lengkap dari SantriController.php akan seperti berikut ini:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class SantriController extends Controller { public function index() { return view('santri'); } }
Perhatikan kode di atas, function index akan me-return view santri. Karna view santri belum ada maka kita buat file view santri.blade.php pada folder resource/views, berikut isi dari file view santri.blade.php:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Ayo Ngoding - Yayasan Dar El Ilmi</title> </head> <body> <h1>Ayo Ngoding</h1> <p>Belajar Bahasa Pemrograman Lanjutan</p> <h1>Santri Kelas XIII Yayasan Dar El Ilmi</h1> </body> </html>
Simpan dan akses route santri menggunakan alamat http://localhost:8000/santri
pada web browser, hasilnya seperti tampilan di bawah ini:
Kita telah berhasil menampilkan view dari controller.
Sekian tutorial Membuat Controller pada Laravel. Selanjutnya kita akan belajar Passing Data Controller ke View Laravel.
Tutorial Selanjutnya:
Tutorial Laravel #6: Passing Data Controller ke View Laravel
Bagaimana cara menghubungkan sebuah route dengan controller yang baru saja dibuat?