Framework CodeIgniter MVC (Model View Controller) dengan Contoh

Daftar Isi:

Anonim

Apa itu MVC?

Standar MVC untuk Model-View-Control. Ini adalah pola arsitektur yang membagi aplikasi menjadi tiga komponen utama.

1. Model berhubungan dengan logika bisnis dan interaksi database

2. Pengontrol mengoordinasikan aktivitas antara model dan tampilan

3. View bertanggung jawab atas penyajian data

Berikut ini adalah beberapa keunggulan dari pola arsitektur MVC

  • Kopling longgar -komponen ada dan berfungsi secara independen satu sama lain.
  • Fleksibilitas - seseorang dapat dengan mudah membuat perubahan pada masing-masing komponen
  • Peningkatan produktivitas - lebih dari satu orang dapat mengerjakan proyek pada waktu yang sama. Pengembang front-end dapat mengerjakan tampilan dan presentasi sementara pengembang backend dapat fokus pada model dan karena sistem digabungkan secara longgar, ia bekerja di penghujung hari

Dalam tutorial ini, Anda akan mempelajari:

  • Apa itu MVC?
    • Model
    • Kontroler
    • Melihat
  • Bagaimana kerangka kerja MVC?
  • Pengontrol CodeIgniter
  • Model CodeIgniter

Model

Model bertanggung jawab untuk berinteraksi dengan sumber data. Ini biasanya database, tetapi juga bisa menjadi layanan yang menyediakan data yang diminta. Ini juga merupakan praktik umum untuk memiliki logika bisnis yang terkandung dalam model sebagai lawan dari pengontrol. Praktik ini biasanya diistilahkan dengan model gemuk pengontrol kurus.

Model biasanya menulis data ke dalam database, menyediakan mekanisme untuk mengedit dan memperbarui, dan menghapus data. Dalam aplikasi web modern, model menggunakan pola desain akses data seperti rekaman aktif untuk memudahkan interaksi dengan database.

Misalnya, CodeIgniter menggunakan perpustakaan built-in Active Record untuk membantu model sementara framework lain seperti Laravel menggunakan Eloquent Object Relational Mapper (ORM) yang membantu akses data.

Kontroler

Pengontrol mendengarkan permintaan masuk untuk sumber daya dari pengguna. Ini bertindak sebagai perantara antara model dan tampilan dan terkadang menerapkan beberapa aturan bisnis juga. Misalkan pengontrol menerima permintaan untuk mendaftarkan pengguna di database.

Pengontrol dapat melakukan validasi data atas apa yang telah dikirimkan untuk memastikan bahwa semua parameter yang diperlukan telah dikirimkan. Jika ada sesuatu yang hilang, pengguna diarahkan ke halaman pendaftaran dengan pesan kesalahan yang sesuai ditampilkan. Pengontrol juga dapat meminta model untuk melakukan lebih banyak validasi dengan memeriksa apakah alamat email yang dikirimkan sudah ada. Jika semua aturan validasi lolos maka pengontrol mengirimkan data ke model untuk diproses dan menunggu respons.

Setelah model memproses informasi dan mengembalikan respons positif, pengontrol memuat tampilan yang sesuai dan meneruskan data yang dikembalikan dari model sebagai parameter.

Melihat

Tampilan berhubungan dengan data yang disajikan kepada pengguna akhir. Dalam aplikasi web, tampilan sering kali berisi HTML, CSS, dan JavaScript opsional. Tampilan berisi kode pemrograman minimum. Kode yang terdapat dalam view biasanya digunakan untuk melakukan loop melalui kumpulan data yang diterima sebagai parameter dari model atau fungsi helper untuk membersihkan data atau membuat link untuk mengedit record. Sebagian besar aplikasi web modern biasanya menggunakan mesin template yang mendefinisikan sintaksnya sendiri yang lebih mirip dengan pseudocode dan dapat dengan mudah dipahami oleh desainer. Saat bekerja dengan CodeIgniter, merupakan praktik umum untuk menggunakan tag PHP pendek dan struktur kontrol. Untuk menampilkan sesuatu di CodeIgniter, seseorang mungkin menggunakan kode berikut


Sebagai lawan

Struktur kontrol biasanya ditulis sebagai berikut


Seperti yang Anda lihat dari contoh di atas, tampilan akan menggunakan kombinasi PHP dan HTML daripada menyertakan semuanya dalam kode PHP murni.

Bagaimana kerangka kerja MVC?

Gambar berikut menunjukkan kerangka kerja MVC

Pengontrol menerima permintaan dari pengguna, berinteraksi dengan model database jika perlu kemudian mengembalikan hasilnya ke browser dalam bentuk kode HTML yang diinterpretasikan browser ke dalam format yang dapat dibaca manusia dan ditampilkan kepada pengguna.

Pengontrol CodeIgniter

Sekarang mari kita uraikan apa yang baru saja terjadi ketika kita memuat URL di atas ke dalam browser web.

Buka file Welcome.php controller yang terletak application / controllers

Anda harus dapat melihat kode berikut

load->view('welcome_message');}}

SINI,

  • didefinisikan ('BASEPATH') ATAU keluar ('Tidak ada akses skrip langsung yang diizinkan'); mencegah akses langsung ke pengontrol jika permintaan tidak datang melalui index.php. ini untuk tujuan keamanan.
  • class Welcome extends CI_Controller {…} mendefinisikan kelas kontroler Welcome dan memperluas kelas induk CI_Controller
  • public function index () {…} mendefinisikan metode indeks yang menanggapi URL http: // localhost: 3000
    • $ this-> load-> view ('welcome_message'); memuat tampilan welcome_message yang terletak di direktori application / views

Kami sekarang akan memperbarui metode indeks sebagai berikut

public function index(){$this->load->model('customers_model');$data['customer'] = $this->customers_model->get_customer(3);$this->load->view('welcome_message',$data);}

SINI,

  • $ this-> load-> model ('customers_model'); memuat model pelanggan.
  • $ data ['customer'] = $ this-> customers_model-> get_customer (3); memanggil metode get_customer dari customers_model dan meneruskan parameter 3. Dalam contoh ini kita telah melakukan hard code nilai tetapi dalam aplikasi kehidupan nyata ini akan menjadi parameter dari URI.
  • $ this-> load-> view ('welcome_message', $ data); memuat tampilan welcome_message dan meneruskan variabel $ data ke tampilan

Model CodeIgniter

Sekarang mari buat tampilan yang kita referensikan pada kode di atas. Untuk kesederhanaan, model kami tidak akan berinteraksi dengan database tetapi akan mengembalikan catatan pelanggan statis. Kami akan bekerja dengan database di tutorial berikutnya.

Buat file Pelanggan_model.php di aplikasi / model

Tambahkan kode berikut


SINI,

  • class Customers_model extends CI_Model {…} mendefinisikan model Customers_model yang memperluas CI_Model.
  • public function get_customer ($ id) {…} mendefinisikan metode dapatkan pelanggan berdasarkan id pelanggan
  • $ data […] mendefinisikan nilai statis dari pelanggan fictious kita. Ini harus menjadi baris yang dikembalikan dari database.
  • return $ data; mengembalikan data pelanggan.

Artinya, untuk model kita. Sekarang mari kita memodifikasi tampilan welcome_message

Buka welcome_message.php yang terletak di

application/views/welcome_message.php

Ganti kode dengan yang berikut ini

CodeIgniter MVC Basics

Customer Details Card

Customer ID :

First Name :

Last Name :

Address :

Simpan perubahannya

Muat URL berikut di browser web

http: // localhost: 3000 /

Anda seharusnya dapat melihat kartu pelanggan seperti yang ditunjukkan pada gambar di bawah ini

Ringkasan

  • MVC adalah pola arsitektur yang membagi aplikasi menjadi tiga komponen utama
  • Model bertanggung jawab untuk berinteraksi dengan sumber data
  • Pengontrol mendengarkan permintaan masuk untuk sumber daya dari pengguna
  • Dalam aplikasi web, tampilan sering kali berisi HTML, CSS, dan JavaScript opsional
  • Pengontrol menerima permintaan dari pengguna, berinteraksi dengan model database jika perlu kemudian mengembalikan hasilnya ke browser dalam bentuk kode HTML