Memahami Peran Controller dan View pada CodeIgniter

CodeIgniter adalah kerangka kerja aplikasi web open source yang digunakan untuk membangun aplikasi web dinamis dengan mudah dan cepat. Dalam CodeIgniter, konsep Model-View-Controller (MVC) digunakan untuk membangun aplikasi web.

Memahami Peran Controller dan View pada CodeIgniter

Controller dan View adalah dua elemen kunci dalam arsitektur MVC pada CodeIgniter. Dalam artikel ini, kita akan membahas tentang Controller dan View dan bagaimana keduanya bekerja bersama-sama dalam CodeIgniter.

Controller

Controller adalah bagian dari aplikasi web yang bertanggung jawab untuk menerima permintaan dari pengguna dan mengambil tindakan yang sesuai. Controller mengambil data dari Model dan mengirimkannya ke View untuk ditampilkan.

Dalam CodeIgniter, setiap Controller adalah kelas PHP. Nama kelas Controller harus diawali dengan huruf kapital dan akhirannya harus selalu berakhir dengan kata “Controller”.

Misalnya, jika kita ingin membuat Controller bernama “Produk”, maka nama kelas Controller tersebut harus menjadi “ProdukController”.

Kelas Controller harus selalu disimpan di direktori “controllers” pada aplikasi CodeIgniter. Dalam kelas Controller, kita dapat menentukan metode yang akan dipanggil ketika permintaan diterima. Metode yang akan dipanggil harus selalu diawali dengan kata “public”.

Berikut adalah contoh kode untuk Controller yang sederhana:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class ProdukController extends CI_Controller {

    public function index()
    {
        //kode untuk menampilkan semua produk
    }

    public function detail($id)
    {
        //kode untuk menampilkan detail produk dengan ID tertentu
    }

    public function tambah()
    {
        //kode untuk menambahkan produk baru
    }

    public function edit($id)
    {
        //kode untuk mengedit produk dengan ID tertentu
    }

    public function hapus($id)
    {
        //kode untuk menghapus produk dengan ID tertentu
    }

}

Dalam contoh kode di atas, kita telah membuat kelas Controller “ProdukController”.

Kelas ini memiliki beberapa metode seperti “index”, “detail”, “tambah”, “edit”, dan “hapus”. Metode “index” akan dipanggil ketika pengguna mengakses halaman awal produk.

Metode “detail” akan dipanggil ketika pengguna mengakses halaman detail produk. Metode “tambah”, “edit”, dan “hapus” akan dipanggil ketika pengguna menambah, mengedit, atau menghapus produk.

View

View adalah bagian dari aplikasi web yang bertanggung jawab untuk menampilkan informasi kepada pengguna.

View dapat berupa file HTML, CSS, JavaScript, atau kombinasi dari ketiganya.

Dalam CodeIgniter, View selalu berada di dalam direktori “views” pada aplikasi. Setiap View adalah file yang berisi kode HTML, CSS, atau JavaScript.

Kode PHP dapat dimasukkan ke dalam View untuk memanipulasi tampilan. Kode PHP pada View dapat berinteraksi dengan Controller melalui variabel.

Controller dapat mengirimkan data ke View dengan menggunakan metode “load->view()”. Metode ini menerima dua parameter: nama View dan variabel yang akan dikirimkan ke View.

Berikut adalah contoh kode untuk View yang sederhana:

<!DOCTYPE html>
<html>
<head>
    <title>Daftar Produk</title>
</head>
<body>
    <h1>Daftar Produk</h1>
    <table>
        <tr>
            <th>ID</th>
            <th>Nama Produk</th>
            <th>Harga</th>
            <th>Aksi</th>
        </tr>
        <?php foreach($produk as $p) { ?>
        <tr>
            <td><?php echo $p->id ?></td>
            <td><?php echo $p->nama ?></td>
            <td><?php echo $p->harga ?></td>
            <td>
                <a href="<?php echo base_url('produk/detail/'.$p->id) ?>">Lihat Detail</a>
                <a href="<?php echo base_url('produk/edit/'.$p->id) ?>">Edit</a>
                <a href="<?php echo base_url('produk/hapus/'.$p->id) ?>">Hapus</a>
            </td>
        </tr>
        <?php } ?>
    </table>
</body>
</html>

Dalam contoh kode di atas, kita telah membuat View untuk menampilkan daftar produk.

View ini memiliki kode HTML untuk membuat tabel dan kode PHP untuk menampilkan data produk. Data produk dikirimkan dari Controller menggunakan variabel “$produk”.

Variabel ini kemudian digunakan dalam perulangan “foreach” untuk menampilkan data produk pada tabel.

Menghubungkan Controller dan View

Untuk menghubungkan Controller dan View dalam CodeIgniter, kita harus menggunakan metode “load->view()” pada Controller. Metode ini akan memuat View yang ditentukan dan mengirimkan variabel yang diinginkan ke View.

Berikut adalah contoh kode untuk menghubungkan Controller dan View dalam CodeIgniter:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class ProdukController extends CI_Controller {

    public function index()
    {
        $data['produk'] = $this->db->get('produk')->result();
        $this->load->view('daftar_produk', $data);
    }

    public function detail($id)
    {
        $data['produk'] = $this->db->get_where('produk', array('id' => $id))->row();
        $this->load->view('detail_produk', $data);
    }

    public function tambah()
    {
        //kode untuk menambahkan produk baru
    }

    public function edit($id)
    {
        //kode untuk mengedit produk dengan ID tertentu
    }

    public function hapus($id)
    {
        //kode untuk menghapus produk dengan ID tertentu
    }

}

Dalam contoh kode di atas, kita telah menggunakan metode “load->view()” untuk menghubungkan Controller dengan View.

Metode ini digunakan dalam setiap metode Controller untuk memuat View yang sesuai.

Kesimpulan

Controller dan View adalah dua elemen penting dalam arsitektur MVC pada CodeIgniter. Controller bertanggung jawab untuk menerima permintaan dari pengguna dan mengambil tindakan yang sesuai. View bertanggung jawab untuk menampilkan informasi kepada pengguna.

Dalam CodeIgniter, Controller dan View bekerja sama untuk membangun aplikasi web. Controller mengambil data dari Model dan mengirimkannya ke View untuk ditampilkan. Dengan menghubungkan Controller dan View dengan metode “load->view()”, kita dapat membangun aplikasi web yang efektif dan efisien.

Beberapa artikel lain dari blog ini terkait Framework CodeIgniter:

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *