CodeIgniter 3 : MVC (Models, Controllers, Views)

CodeIgniter 3 : MVC (Models, Controllers, Views)

Belajar konsep framework PHP Codeigniter 3 MVC. Apa itu MVC ? Model – View – Controllers adalah mekanisme sistem kerja & strukture framework / kerangka kerja dari Codeigniter secara default.

 

Susunan folder Codeigniter

Dalam file codeigniter kita akan mendapatkan beberap 3 folder utama yang terdiri dari kode2 & functions PHP yang siap dipakai untuk membangun sebuah project web / aplikasi.

  • Application
  • System
  • Index.php

Nantinya kita akan sering bekerja pada folder application:

  • config
  • controllers
  • libraries
  • helper
  • models
  • views

Note: secara umum kita akan buat projects pada folder: controllers – models – viewsm jadi agar tidak pusing disini saya hanya akan jelaskan yang digunakan saja & lainya kita abaikan saja dulu.

 

Controllers Codeigniter

Merupakan kode PHP yang mengatur hubungan antara bagian code model dan bagian kode view, controller berfungsi sebagai jembatan untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.

Contoh controlllers default: welcome.php

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

class Welcome extends CI_Controller {
  
  function __construct(){
    parent::__construct();
   // kode disni...	
  }
  public function index(){
  $This->load->view('welcome_message')
  } 
}

Info kode:

  • defined(‘BASEPATH’) OR exit(‘No direct script access allowed’); –> Artinya: mencegah akses langsung pada file controllers
  • Parent:: __Contract() –> Artinya: semua kota yang ada didalanya dapat diakses semua function & akan di eksekusi pertama kali.
  • class Welcome extends CI_Controller { — > Artinya: Nama class / controllers
  • $This->load->view(‘welcome_message’) — > Arinya: kode controlles akan menampilkan file: welcome_message.php yang ada di folder: views.

 

Syarat penulisan code controllers CI:

  1. Nama class Controller dituliskan dengan Huruf kapital pada awal nama, Contoh Home, Pages
  2. Tidak boleh menggunakan tanda spasi,tanda – dan tanda lain-lainnya kecuali underscore
  3. Nama file controller harus sama dengan nama class Controller dan disimpan pada direktory Application/controllers/
  4. Awal Penamaan file sebaiknya menggunakan huruf Besar: Welcome.php

 

Function method:

Aturan pembuatan nama function sama dengan pembuatan nama Class controller, hanya saja tidak boleh ada nama function yang sama dalam satu class Controller. Dalam satu class controller juga harus ada nama function index yang akan bertindak sebagai routing default dari controller tersebut.

READ :  CodeIgniter 3 Masih jadi pilihan dibanding versi 4

 

Cara Akses / Buka Controller:

Sebagai contoh kita telah membuat file controllers: Welcome.php , Kamu bisa akses lewat URL: https://localhost/latihanCI/welcome/

» Jika ingin mendalami controlles lebih banyak: https://codeigniter.com/user_guide

 

Model Codeigniter

Berisi Kode Function PHP yang Biasanya kelas model yang langsung berhungan dengan database / basisdata (mysql), kode model codeigniter akan terkoneksi/ include langsung dengan controllres sebelum ditayangkan pada file views.

format penulisan models:

class Model_name extends CI_Model {
// kode disni...
}

syarat penulisan class & function model sama dengan controllers, cara loading / include model:

$this->load->model('model_name');

note: kode diatas dimasukan pada file controlles didalam kode:

public function __construct()
        {
                parent::__construct();
                // Your own constructor code
        }

 

contoh kode model:

class Blog_model extends CI_Model {

        public function get_last_ten_entries()
        {
                $query = $this->db->get('entries', 10);
                return $query->result();
        }
}

» belajar model lebih lengkap: https://codeigniter.com/user_guide/general/models.html

 

Views Codeigniter

Folder View Codeigniter berisi kode HTML, CSS & Javascript (template) ini merupakn file layout (design) yang berhubungan langsung dengan user, semua hasil data view mengambil reload dari controllers yang bersumber dari model jika menggunakan database.

Sample kode:

<!DOCTYPE html>
<html lang="en">

<head>

  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta name="description" content="">
  <meta name="author" content="">

  <title>Blog Home - Start Bootstrap Template</title>

  <!-- Bootstrap core CSS -->
  <link href="<?php echo base_url('tema/blog-home/');?>vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">

  <!-- Custom styles for this template -->
  <link href="<?php echo base_url('tema/blog-home/');?>css/blog-home.css" rel="stylesheet">

</head>

Kode umum loading view:

$this->load->view('name');

Temukan materi lengkap tentang views:

https://codeigniter.com/userguide3/

__Semoga materi ini bermanfaat & Selamat belajar!