Mempelajari Controller CodeIgniter 4

irfan-photo irfan 3 yang lalu

belajar controller codeginiter 4

Controller merupakan bagian dari Pola Desain Software MVC (Model, View, Control)

Controller berfungsi sebagai tempat untuk mengontrol setiap proses requests HTTP yang terjadi

Nama Controller di CI 4 nantinya akan dibaca sebagai segment pertama pada url dan methodnya akan dibaca pada segment kedua, coba perhatikan format url dibawah ini

http://localhost:8080/controller/method

jadi ketika kalian membuat sebuah file controller dengan nama Home.php lalu berisi method rumah maka ini nantinya akan digunakan dibagian routes untuk menangani setiap request yang masuk

agar lebih jelas lagi penjelasan diatas, coba kalian buka file routes.php belajar_ci4 yang sebelumnya diinstall terletak di app/Config/Routes.php

terdapat 1 baris kode yaitu $routes->get('/', 'Home::index');

perhatikan nilai dari method get yang pertama yaitu berisi slash (/), maksud dari slash ini ditujukan untuk menentukan halaman index / homepage

lalu coba perhatikan nilai dari method get yang kedua yang berisi (Home::index), maksudnya ini ditujukan untuk mengakses controller Home yang memiliki method index

sekarang kalian buka file controllernya yang terletak di app/Controllers/Home.php

dididalam controller tersebut hanya berisikan class Home dan memiliki method index

Aturan Pembuatan Controller CI 4

terdapat aturan yang harus diterapkan saat membuat sebuah controller, yaitu

nama file dan class controller harus diawali huruf besar dan seterusnya harus menggunakan huruf kecil

contoh penulisan nama file yang benar 'Mypages.php' dan untuk kode classnya harus disamakan dengan nama filenya yaitu 'class Mypages'

Membuat Controller

untuk membuat controller terdapat 2 cara yang bisa kalian lakukan, secara manual atau dengan membuatnya menggunakan spark

Membuat Controller Menggunakan Spark

untuk membuatnya menggunakan spark kalian hanya perlu mengetikan perintah
php spark make:controller nama_controller

rubah nama_controller dengan nama controlle yang kalian buat, misalnya
php spark make:controller Pages

Membuat Manual

membuatnya secara manual tidak kalah cepat dengan menggunakan spark, kalian hanya tinggal membuat file controller baru secara manual dan mengcopy controller yang sudah ada, tidak lupa juga untuk mengganti nama classnya

Praktek membuat Controller

untuk lebih memahami lagi tentang controller ini, saya akan mempraktekan bagaimana cara membuat controller yang memiliki kriteria

  • dibuat disub-folder
  • menggunakan spark
  • routing secara manual
  • menangkap segment dinamis

oke langsung saja praktek...

Langkah 1

buat file controller menggunakan spark dengan mengetikan perintah
php spark make:controller blog/post

Langkah 2

membuat routing manual dengan mengedit file 'app/Config/Routes.php', dan menambahkan kode dibawah ini pada bagian Route Definitions

$routes->get('blog/(:any)/(:num)', 'Blog\Post::index/$1/$2');

Langkah 3

mengedit file controller yang sebelumnya dibuat 'app/Controllers/Blog/Post.php', ganti method index menjadi seperti kode dibawah ini

public function index($permalink, $id)
{
	echo $permalink;
	echo "<br/>";
	echo $id;
}
Uji Coba

menjalankan web server dengan spark dan membuka alamat 'http://localhost:8080/blog/test/1'

maka dibrowser akan memunculkan tulisan test dan angka 1

Dilihat 856x
Terakhir diupdate 03/September/2022 02:07 AM
Buka Diskusi