0
0
0
share
#BelajarCodeigniter#ControllerCodeIgniter#mvc#Routing
0 Komentar
Belajar CodeIgniter #04: Memahami Controller Lebih Dalam Untuk Pemula
![Belajar CodeIgniter #04: Memahami Controller Lebih Dalam Untuk Pemula](https://image.web.id/images/Belajar-CodeIgniter-04_-Memahami-Controller-Lebih-Dalam-Untuk-Pemula.png)
Belajar CodeIgniter #04 - Pada Belajar CodeIgniter sebelumnya, kita telah membahas konsep dasar MVC dan bagaimana routes berinteraksi dengan Controller dalam CodeIgniter. Sekarang, kita akan menggali lebih dalam tentang Controller, salah satu komponen utama dalam framework ini.
Controller memiliki peran penting dalam mengatur aliran data antara Model dan View. Selain itu, Controller bertugas meng-handle HTTP request dan menentukan respons yang dikirimkan kembali ke pengguna.
Dalam tutorial ini, kita akan membahas beberapa hal berikut:
- Apa tugas utama dari Controller?
- Bagaimana cara membuat Controller dan aturan penggunaannya?
- Bagaimana membaca input dan menghasilkan output?
- Fitur-fitur lain yang berguna di Controller.
Mari kita mulai!
Apa Itu Controller?
Sebelum memulai Belajar CodeIgniter, Controller dalam CodeIgniter adalah bagian dari arsitektur MVC (Model-View-Controller) yang bertugas menerima HTTP request, memprosesnya, dan mengirimkan HTTP response.
Contohnya, jika kita mengakses URL berikut:
example.com/index.php/blog/
Maka CodeIgniter akan mencari Controller bernama Blog
, dan Blog
inilah yang akan menangani request tersebut.
Membuat Controller di CodeIgniter
1. Lokasi dan Penamaan File Controller
File untuk Belajar CodeIgniter Controller harus diletakkan di dalam folder application/controllers/
dengan nama yang diawali huruf besar.
Contoh benar:
Blog.php
Product.php
Contoh salah:
blog.php
product.php
Jika nama controller terdiri dari lebih dari satu kata, bisa dipisahkan dengan underscore:
Pendaftaran_siswa.php
2. Penulisan Nama Class Controller
Nama class dalam file Controller harus diawali dengan huruf kapital dan mengikuti nama file.
Contoh yang benar:
<?php class Blog extends CI_Controller { }
Contoh yang salah:
<?php class blog extends CI_Controller { }
3. Menulis Method dalam Controller
Belajar CodeIgniter Method dalam Controller harus menggunakan huruf kecil. Jika ada lebih dari satu kata, gunakan underscore:
<?php class Blog extends CI_Controller { public function index() { echo 'Hello World!'; } public function comments() { echo 'Look at this!'; } }
4. Mengelompokkan Controller dalam Folder
Kita bisa membuat sub-folder dalam application/controllers/
untuk mengelompokkan Controller:
š application/controllers/
š admin/
š Dashboard.php
š Product.php
š member/
š Profile.php
š Transaction.php
Lalu, kita bisa memberikan default route untuk masing-masing folder dalam config/routes.php
:
$routes['admin'] = 'admin/dashboard'; $routes['admin/product'] = 'admin/product';
Input dan Output di Controller
1. Mengambil Input
Ada empat macam input yang bisa diambil melalui Controller:
$this->input->post(); // Mengambil input dari form POST $this->input->get(); // Mengambil input dari URL query string $this->input->cookie(); // Mengambil input dari cookie $this->input->server(); // Mengambil input dari server
Menggunakan $this->input
lebih aman dibandingkan variabel PHP biasa karena sudah difilter dari serangan XSS dan CSRF.
2. Menghasilkan Output
Output akan menjadi *HTTP response *yang dikirimkan kembali ke pengguna. Cara umum untuk mengeluarkan output adalah menggunakan:
$this->load->view('nama_view');
Kita juga bisa menentukan tipe konten:
$this->output->set_content_type('json') ->set_output(json_encode($data));
Private Method dalam Controller
Jika kita membuat method dengan modifier private
, maka method tersebut tidak bisa diakses dari URL.
<?php class Blog extends CI_Controller { public function index() { echo 'Hello World!'; } private function _utility() { echo 'Look at this!'; } }
Akses:
example.com/index.php/blog/_utility
Method ini tidak dapat diakses secara langsung dari URL.
Menjalankan Controller dari CLI
Selain dari browser, Controller juga bisa dijalankan melalui CLI. Ini berguna untuk cron jobs atau tugas otomatis di server.
Cara menjalankan Controller dari CLI:
php index.php nama_controller nama_method argumen1 argumen2
Contoh Controller:
<?php class Notification extends CI_Controller { public function send_reminder($message){ echo "Reminder: $message"; } }
Jalankan dengan:
php index.php notification send_reminder 'Jangan lupa belajar!'
Kesimpulan
Dalam tutorial ini, kita telah belajar banyak tentang Controller dalam CodeIgniter, termasuk:
- Pengertian dan fungsi Controller
- Cara membuat Controller dan aturan penulisannya
- Mengambil input dan menghasilkan output
- Menjalankan Controller dari CLI
Dalam Belajar CodeIgniter, Controller adalah bagian penting dalam CodeIgniter yang memungkinkan kita untuk menangani request, mengelola aliran data, dan berkomunikasi dengan Model dan View. Dengan memahami Controller lebih dalam, kita dapat membuat aplikasi yang lebih terstruktur, efisien, dan mudah dikembangkan.
Meskipun kita telah membahas dasar-dasar dan beberapa fitur penting dari Controller, masih banyak hal yang bisa dieksplorasi, seperti middleware, filter, serta pengelolaan error dan debugging. Memahami Controller dengan baik akan memberikan dasar yang kuat dalam membangun aplikasi berbasis CodeIgniter yang scalable dan maintainable. Masih banyak fitur lain yang bisa dieksplorasi lebih jauh di dokumentasi CodeIgniter.
Jika kamu ingin belajar lebih dalam Belajar CodeIgniter, berdiskusi dengan sesama developer, atau berbagi pengalaman, bergabunglah dengan komunitas CodePolitan! Baik pemula maupun ahli bisa bertanya, membaca, dan menulis pemikirannya di sana. Ayo bergabung sekarang!
0
0
0
share