Pemrograman Web Model View Controller Adam Hendra Brata
Pokok Bahasan
Pengenalan MVC Model View Controller Sistem Komunikasi MVC
Kode Program MVC
Pengenalan Model View Controller
Pengenalan Model View Controller Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller) MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi. Konsep MVC adalah konsep pemisahan antara logic dengan tampilan dan database
Pengenalan Model View Controller Di PHP, kita dapat mengimplementasikan konsep MVC dengan membangun sendiri sebuah framework MVC berbasis OOP Selain kita bisa mengimplementasikan konsep MVC secara “from scratch”, terdapat banyak framework MVC yang siap digunakan dan relatif mudah dalam penggunaannya seperti, CodeIgniter, CakePHP, Zend Framework, Symfony dan lain - lain
Model Pola MVC memiliki layer yang disebut dengan model yang merepresentasikan data yang digunakan oleh aplikasi sebagaimana proses bisnis yang diasosiasikan terhadapnya. Dengan memilahnya sebagai bagian terpisah, seperti penampungan data (basis data), persistence, serta proses manipulasinya.
View Layer ini mengandung keseluruhan detail dari implementasi user interface. Disini, komponen grafis menyediakan representasi proses internal aplikasi dan menuntun alur interaksi user terhadap aplikasi. Tidak ada layer lain yang berinteraksi dengan user, hanya view.
Controller Terakhir, arsitektur MVC memiliki layer controller. Layer ini menyediakan detail alur program dan transisi layer, dan juga bertanggungjawab akan penampungan events yang dibuat oleh user dari view dan melakukan update terhadap komponen model menggunakan data yang dimasukkan oleh user.
Sistem Komunikasi MVC HTTP Response
HTTP Request
Control ler
Model
View
DB
Sequence Diagram MVC
Kode Program Model View Controller
MVC Code Structure
Sebagai contoh sederhana dalam slide ini akan digunakan model statis atau model yang tidak menggunakan data dari database
model/Book.php
{ $title; $author; $description;
public function __ construct($title, $author, $description) { $this->title = $title; $this->author = $author; $this->description = $description; } } ?>
model/Model.php
public function getBookList() { // here goes some hardcoded values to simulate the database
return array( "Jungle Book" => new Book("Jungle Book", "R. Kipling", "A classic book."), "Moonwalker" => new Book("Moonwalker", "J. Walker", ""), "PHP for Dummies" => new Book("PHP for Dummies", "Some Smart Guy", "") );
}
model/Model.php public function getBook($title) { // we use the previous function to get all the books // and then we return the requested one. // in a real life scenario this will be done through a database select command $allBooks = $this-> getBookList(); return $allBooks[$title]; } } ?>
view/viewbook.php
echo 'Title:' . $book-> title . '
'; echo 'Author:'.$book-> author . '
'; echo 'Description:' . $book->description . '
'; ?>
view/booklist.php
controller/Controller.php
class Controller { public $model; public function __construct() { $this->model = new Model();
}
controller/Controller.php public function invoke()
{ if (!isset($_GET['book'])) { // no special book is requested, we'll show a list of all available books $books = $this->model->getBookList(); include 'view/booklist.php'; } else {
// show the requested book $book = $this->model->getBook($_GET['book']); include 'view/viewbook.php'; } } } ?>
index.php invoke(); ?>
Terimakasih dan Semoga Bermanfaat ^^