1. Trang chủ
  2. » Công Nghệ Thông Tin

Session 06 Mô Hình Trong PHP - MVC PHP

20 572 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 542,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MVC là một design pattern được dùng vào hầu hết các web framework và GUI framework, gồm có:Ruby On Rails: Một webframework viết trên Ruby rất thịnh hành.Apple Cocoa: Apple’s framework cho phát triển các ứng dụng Mac OS và iOS.ASP.Net Framework: Microsoft’s webframework để phát triển các ứng dụng web trên .NET.Apache Struts: Một Java webframework rất phổ biến… và rất nhiều framework khác.

Trang 1

Bài 1: Mô Hình MVC

Trang 2

Mục tiêu

Trang 3

Giới thiệu mô hình MVC

tiên bởi Trygve_Reenskaug vào năm 1979

framework và GUI framework, gồm có:

 Ruby On Rails: Một web-framework viết trên Ruby rất thịnh hành

 Apple Cocoa: Apple’s framework cho phát triển các ứng dụng Mac OS và iOS

 ASP.Net Framework: Microsoft’s web-framework để phát triển các ứng dụng web trên NET

 Apache Struts: Một Java web-framework rất phổ biến

 … và rất nhiều framework khác

devloper có thể chia nhỏ code của mình thành ba phần:

 Model: duy trì dữ liệu và các quy tắc xử lý(bussiness rule)

 View: hiển thị dữ liệu và các thành phần giao diện người dùng

 Controller: điều khiển các sự kiện của người dùng có ảnh đến Model và View

Trang 4

Giới thiệu mô hình MVC

Người dùng tương tác bằng cách nhấn chuột và các link hoặc submit form,

Controller sẽ điều khiển hoạt động này và đưa ra hành động thích hợp(thao tác với model và cập nhât dữ liệu)

Trang 5

Giới thiệu mô hình MVC

trên View, cũng có thể giử yêu cầu đến Model để cập trạng thái của Model

trạng thái Thông báo này cho các phép các View tạo ra các hiển thị được

cập nhật và cho phép các Controller thay đổi các command

View

PDO/ 5 of 22

Trang 6

Ưu nhược điểm của MVC

nhóm chuyên môn khác nhau: nhóm thiết kế, nhóm lập trình, nhóm tổ chức csdl… Gúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp.

được thay đổi, nhưng sự thay đổi được cô lập trong từng lớp, hoặc chỉ ảnh hưởng đến lớp ngay gần kề nó, chứ không làm ảnh hưởng đến toàn bộ

chương trình.

chia theo cách khác.

Trang 7

Ưu nhược điểm của MVC

sẽ gây cồng kềnh, tốn thời gian trong quá trình phát triển.

PDO/ 7 of 22

Trang 8

Xây dựng ứng dụng theo mô hình MVC

sau:

Trang 9

Xây dựng Model

dư liệu nền tảng cho toàn bộ ứng dụng web

dữ liệu trực tiếp hoặc được lấy từ cơ sở dữ liệu

PDO/ 9 of 22

Trang 10

Xây dựng Model

tiết của sách khi người dùng chọn sách trong danh mục

 Chi tiết một quyển sách gồm có: Title, Author và Description => Vậy cần xây

dựng một lớp Book để đại diện cho những quyển sách này Lớp này được sử dụng lớp model của ví dụ

 Cần hiển thị các sách dưới dạng danh mục và chi tiết một quyển sách khi được

nhấn chọn trong danh mục => Cần xây dựng một model xử lý lấy thông tin sách cho hai trường hợp là lấy một danh sách sách, và lấy một sách theo tiêu đề

Trang 11

Xây dựng Model

model/Book.php)

PDO/ 11 of 22

class Book {

public $title;

public $author;

public $description;

public function construct($title, $author, $description) {

$this->title = $title;

$this->author = $author;

$this->description = $description;

}

}

Trang 12

Xây dựng Model

include_once("model/Book.php");

class Model {

public function getBookList()

{

//sau đây đi một số giá trị cho sẵn để mô phỏng được lấy từ cơ sở dữ liệu

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", "")

);

}

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];

}

}

Trang 13

Xây dựng View

 View để hiện thị danh sách sách

 View để hiển thị chi tiết một quyển sách (khi người dùng nhấn vào tiêu đề sách

trong view liệt kê danh mục sách)

PDO/ 13 of 22

Trang 14

Xây dựng View

<html>

<head></head>

<body>

<table>

<tbody>

<tr><td>Title</td><td>Author</td><td>Description</td></tr>

</tbody>

<?php

foreach ($books as $book) {

echo '<tr><td><a href="index.php?book='

$book->title '">' $book->title '</a></td><td>'

$book->author '</td><td>' $book->description '</td></tr>';

}

?>

</table>

</body>

</html>

Trang 15

Xây dựng View

 View để hiển thị chi tiết một quyển sách(tập tin:

view/viewbook.php)

PDO/ 15 of 22

<html>

<head></head>

<body>

<?php

echo 'Title:' $book->title '<br/>';

echo 'Author:' $book->author '<br/>';

echo 'Description:' $book->description '<br/>';

?>

</body>

</html>

Trang 16

Xây dựng Controller

đều được thể hiện trong Controller

Model và View

 Ví dụ: (tiếp tục với dụ hiển thị sách ở trên)

yêu cầu và tương tác đến View hiển thị dữ liệu có được từ Model

Trang 17

Xây dựng Controller

PDO/ 17 of 22

include_once("model/Model.php");

class Controller {

public $model;

public function construct()

{

$this->model = new Model();

}

Trang 18

Xây dựng Controller

public function invoke()

{

if (!isset($_GET['book']))

{

//sẽ hiển thị toàn bộ các sách đang có nếu không có //yêu cầu một sách cụ thể nào

$books = $this->model->getBookList();

include 'view/booklist.php';

}

else

{

//hiển thị sách được yêu cầu khi người dùng nhấn chọn

$book = $this->model->getBook($_GET['book']);

include 'view/viewbook.php';

}

}

}

Trang 19

Xây dựng Controller

PDO/ 19 of 22

<?php

//Tất cả tương tác được thông qua trang index và được chuyển(forwarded) trực tiếp tới

controller

include_once("controller/Controller.php");

$controller = new Controller();

$controller->invoke();

?>

Trang 20

MVC

Ngày đăng: 12/11/2015, 22:57

TỪ KHÓA LIÊN QUAN

w