Tentu, berikut adalah artikel tutorial tentang Controller pada CodeIgniter.
Selamat datang kembali di seri tutorial CodeIgniter! Setelah pada bagian sebelumnya kita mengenal dasar-dasar CodeIgniter, kini saatnya kita masuk ke komponen inti dari arsitektur MVC (Model-View-Controller), yaitu Controller. Controller adalah “otak” dari aplikasi Anda. Ia berfungsi sebagai jembatan antara Model (data) dan View (tampilan) dengan mengatur alur logika dan interaksi pengguna.
Apa Itu Controller?
Secara sederhana, Controller adalah sebuah kelas PHP yang bertanggung jawab untuk menerima permintaan (request) dari pengguna, memprosesnya, dan memberikan respons. Ketika seorang pengguna mengakses sebuah URL, CodeIgniter akan mengarahkan permintaan tersebut ke fungsi (method) yang sesuai di dalam sebuah Controller.
Tanggung jawab utama Controller meliputi:
- Menerima Permintaan: Mendeteksi permintaan HTTP dari pengguna, seperti
GETatauPOST. - Mengolah Logika: Memuat Model untuk berinteraksi dengan database, memvalidasi data, atau melakukan perhitungan.
- Mengatur Data: Mengirim data yang telah diproses dari Model ke View.
- Memberikan Respons: Memuat View (tampilan) dan mengirimkannya kembali ke browser pengguna.
Struktur Dasar Controller
Dalam CodeIgniter, setiap Controller adalah sebuah kelas PHP yang harus diakhiri dengan nama Controller dan disimpan di dalam folder app/Controllers.
Berikut adalah contoh struktur dasar sebuah Controller:
<?php
namespace App\Controllers;
class Home extends BaseController
{
public function index()
{
return view('welcome_message');
}
}
Mari kita bedah kode di atas:
namespace App\Controllers;: Ini adalah deklarasi namespace yang mengacu pada lokasi folder Controller.class Home extends BaseController: Ini adalah deklarasi kelas Controller. Semua Controller Anda harus mewarisi kelasBaseControlleruntuk mendapatkan fitur-fitur dasar yang diperlukan. Nama kelas, dalam hal iniHome, akan digunakan dalam URL.public function index(): Ini adalah sebuah method di dalam kelas Controller. Secara default, jika tidak ada method yang disebutkan dalam URL, CodeIgniter akan memanggil methodindex(). Method ini akan memuat view dengan namawelcome_message.
Membuat Controller Baru
Mari kita buat Controller sederhana yang akan menampilkan halaman “Selamat Datang”.
Langkah 1: Buat File Controller
Buat file baru di direktori app/Controllers dan beri nama Welcome.php.
Langkah 2: Tulis Kode Controller
Isi file Welcome.php dengan kode berikut:
<?php
namespace App\Controllers;
class Welcome extends BaseController
{
public function index()
{
// Mengirim data ke View
$data['nama'] = "Budi";
return view('halaman_welcome', $data);
}
public function salam($nama = "Guest")
{
echo "Halo, " . $nama . "! Selamat datang di CodeIgniter.";
}
}
Dalam contoh ini, kita memiliki dua method:
index(): Akan memuat sebuah view bernamahalaman_welcomedan mengirimkan variabel$datake dalamnya. Variabel ini berisi data yang bisa diakses di view.salam($nama = "Guest"): Method ini akan menerima satu parameter$nama. Jika parameter tidak diberikan, nilai default-nya adalah “Guest”. Method ini akan langsung mencetak string ke layar.
Membuat View untuk Controller
Agar Controller kita bisa menampilkan halaman yang utuh, kita perlu membuat view. Buat file baru di direktori app/Views dan beri nama halaman_welcome.php.
Isi file tersebut dengan kode HTML berikut:
<!DOCTYPE html>
<html>
<head>
<title>Halaman Selamat Datang</title>
</head>
<body>
<h1>Selamat datang, <?php echo $nama; ?>!</h1>
<p>Ini adalah halaman yang diatur oleh Controller Welcome.</p>
</body>
</html>
Perhatikan bahwa kita bisa mengakses variabel $nama yang dikirim dari Controller di dalam view ini.
Cara Mengakses Controller
Sekarang, mari kita lihat bagaimana cara mengaksesnya melalui URL:
- Untuk method
index(): Buka browser dan kunjungihttp://localhost/nama_proyek/public/welcome. Secara default,index()akan dipanggil. - Untuk method
salam(): Buka browser dan kunjungihttp://localhost/nama_proyek/public/welcome/salam. Jika Anda ingin mengirim parameter, tambahkan di belakangnya:http://localhost/nama_proyek/public/welcome/salam/Andi.
Kesimpulan
Controller adalah bagian vital dalam alur kerja CodeIgniter. Ia adalah pusat kendali yang menghubungkan permintaan pengguna dengan data (melalui Model) dan tampilan (melalui View). Dengan memahami bagaimana membuat dan menggunakan Controller, Anda kini memiliki pondasi yang kuat untuk membangun aplikasi web yang terstruktur dan dinamis. Pada tutorial selanjutnya, kita akan membahas tentang Model dan bagaimana cara berinteraksi dengan database.