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