Selamat datang di lanjutan seri belajar Laravel! Pada materi kali ini, kita akan berfokus pada komponen Controller di Laravel, yaitu bagian yang menjadi penghubung antara Route, View, dan Model. Setelah sebelumnya kita mempelajari Route dan View, sekarang saatnya memahami bagaimana Controller mengelola logika aplikasi dan alur data sebelum ditampilkan ke pengguna.
Ilustrasi Controller Laravel

1. Memahami Konsep Controller di Laravel

Laravel menggunakan pola arsitektur MVC (Model – View – Controller). Dalam pola ini, Controller berperan sebagai pengendali alur aplikasi: menerima request dari Route, memproses data (misalnya melalui Model), lalu menentukan apa yang akan dikirim ke View.

Secara praktis, Controller adalah tempat yang tepat untuk menaruh logika bisnis: mulai dari validasi, pengolahan data, sampai memutuskan tampilan mana yang harus dirender. View tidak seharusnya berisi logika kompleks; tugasnya hanya menampilkan hasil akhir ke pengguna.

Info Penting: Secara standar, semua file Controller di Laravel disimpan di dalam folder app/Http/Controllers/.

Untuk penjelasan yang lebih lengkap dalam bahasa Inggris, kamu juga bisa merujuk ke dokumentasi resmi Laravel: https://laravel.com/docs/5.7/controllers.

2. Dua Cara Membuat Controller di Laravel

Laravel menyediakan dua pendekatan utama untuk membuat Controller:

  • Membuat file Controller secara manual di folder app/Http/Controllers/.
  • Menggunakan perintah php artisan make:controller melalui terminal atau CMD.

Keduanya menghasilkan class Controller yang sama fungsinya. Perbedaannya hanya pada cara pembuatan: manual memberi kamu kendali penuh dari nol, sedangkan artisan lebih cepat karena membuatkan struktur class secara otomatis.

3. Cara Pertama: Membuat File Controller Secara Manual

Mari kita mulai dengan cara manual. Buka folder app/Http/Controllers/ di project Laravel kamu, lalu buat file baru bernama PegawaiController.php. Pastikan penamaan class mengikuti standar Laravel: huruf pertama kapital dan diakhiri kata Controller.

Berikut contoh isi awal file PegawaiController.php:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PegawaiController extends Controller
{
    // di sini isi controller pegawai
}

Beberapa hal penting yang perlu kamu perhatikan:

  • Class PegawaiController harus extends class Controller bawaan Laravel.
  • Nama class dan nama file harus konsisten (case-sensitive) untuk mendukung mekanisme autoload Laravel.
  • Namespace standar untuk controller adalah App\Http\Controllers seperti yang terlihat di bagian atas file.

Sampai di sini, kamu sudah berhasil menambahkan satu Controller baru di project Laravel. Selanjutnya, kita akan lihat bagaimana membuat controller menggunakan bantuan php artisan.

Contoh File PegawaiController

4. Cara Kedua: Membuat Controller dengan php artisan

Salah satu fitur yang membuat Laravel nyaman digunakan adalah adanya tool CLI bernama php artisan. Tool ini menyediakan berbagai perintah untuk membantu pengembangan, termasuk membuat Controller, Model, Migration, dan lain-lain.

Untuk membuat Controller baru, buka terminal atau command prompt, lalu masuk ke direktori project Laravel kamu. Misalnya, jika project berada di folder belajar_laravel, maka jalankan:

cd path/ke/folder/belajar_laravel
php artisan make:controller DosenController

Perintah make:controller meminta Laravel membuatkan file Controller baru, sedangkan DosenController adalah nama class yang akan dibuat. Setelah perintah ini dijalankan, Laravel akan membuat file app/Http/Controllers/DosenController.php secara otomatis.

Info Penting: Menjalankan php artisan Perintah php artisan make controller

5. Menghubungkan Route dengan Controller

Setelah DosenController dibuat, langkah berikutnya adalah menghubungkannya dengan Route. Tujuannya: ketika pengguna mengakses URL tertentu, Laravel akan memanggil method yang kita tentukan di dalam Controller.

Buka file routes/web.php dan tambahkan kode berikut:

Route::get('dosen', 'DosenController@index');

Baris di atas berarti: jika pengguna mengakses URL /dosen dengan metode GET, maka jalankan method index di dalam DosenController.

Secara default, file DosenController.php yang baru dibuat oleh artisan masih kosong. Mari kita tambahkan method index sederhana untuk menguji koneksi route ke controller.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class DosenController extends Controller
{
    public function index()
    {
        return "Halo ini adalah method index, dalam controller DosenController. - tutorials.web.id";
    }
}

Jalankan server Laravel dengan perintah php artisan serve, lalu buka browser dan akses: http://127.0.0.1:8000/dosen. Jika konfigurasi benar, kamu akan melihat teks dari method index tampil di halaman browser.

Output Method Index DosenController

6. Kesimpulan

Pada materi ini, kamu telah mempelajari alur dasar penggunaan Controller di Laravel:

  • Controller bertugas mengatur logika aplikasi dan menjadi penghubung antara Route, Model, dan View.
  • Laravel menyediakan dua cara pembuatan Controller: manual (membuat file langsung) dan otomatis (menggunakan php artisan make:controller).
  • Route dapat diarahkan ke method tertentu di Controller, misalnya Route::get('dosen', 'DosenController@index');, untuk mengontrol apa yang dikirim ke pengguna.

Teruskan latihan dengan membuat beberapa Controller baru, menambahkan method berbeda, dan menghubungkannya dengan berbagai Route. Di materi berikutnya, kamu bisa mengembangkan topik ini dengan passing data dari Controller ke View dan operasi CRUD menggunakan Eloquent.

Belum ada komentar. Jadilah yang pertama menulis komentar.