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

Bài giảng Phát triển ứng dụng Web (GV Nguyễn Hữu Thể) Bài 6

24 10 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 24
Dung lượng 601,42 KB

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

Nội dung

M odel V iew C ontroller MVC− Model: Quản lý dữ liệu, lưu trữ và truy xuất các dữ liệu từ cơ sở dữ liệu, các logic xử lý.. − View: Hiển thị dữ liệu đã được truy xuất từ model.. • Gọi các

Trang 1

MÔ HÌNH MVC TRONG PHP

NGUYỄN HỮU THỂ

Trang 2

Nội dung

2

Trang 3

1 M odel V iew C ontroller (MVC)

− MVC: một kiến trúc phần mềm (hay mô hình thiết kế) được sử dụng trong kỹ thuật phần mềm.

− Tách một ứng dụng web ra làm 3 thành phần đảm nhiệm chức năng tách biệt, thuận tiện cho việc xử lý và bảo trì.

1 Mô hình MVC

2.Ưu/nhược điểm

3.Ứng dụng MVC (1)

4.Ứng dụng MVC (2)

Trang 4

1 M odel V iew C ontroller (MVC)

− Model: Quản lý dữ liệu, lưu trữ và truy xuất các dữ liệu từ cơ sở

dữ liệu, các logic xử lý.

− View: Hiển thị dữ liệu đã được truy xuất từ model.

− Controller: Trung gian, giúp cho model và view tương tác với

nhau.

• Controller nhận request từ client.

• Gọi các model để thực hiện các yêu cầu và gửi ra View.

• View sẽ format lại data từ controller gửi ra và trình bày dữ liệu (HTML).

Trang 5

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

− Thể hiện tính chuyên nghiệp trong lập trình, phân tích

thiết kế

− Phát triển ứng dụng theo cấu trúc đơn giản, dễ nâng

cấp, bảo trì, triển khai.

=> Sử dụng phổ biến nhất trong các PHP Framework

− Tốn nhiều thời gian để xây dựng thư viện, cấu trúc.

− Yêu cầu về chuyên môn khá cao, có kiến thức vững về

Trang 6

3 Thiết kế ứng dụng Web theo mô hình MVC

Trang 7

− Controller: nơi đầu tiên nhận các yêu cầu (request).

− Controller được gọi từ file index.php

Trang 8

$this-> modelStudent = new StudentModel ();

}

if (!isset( $_GET [ 'id' ])){

$students = $this-> modelStudent ->getStudentList();

}

Controller.php

▪ Contructor: gọi và khởi tạo lớp Model

▪ Invoke: quyết định data nào được phép trả ra từ model => gọi model

để lấy dữ liệu => gửi dữ liệu ra view.

Trang 10

"01" => new Student ( "01" , "Nguyễn Đình A" , "15-06-2000" , "Nam" , "Vĩnh Long" ),

"02" => new Student ( "02" , "Nguyễn Đình B" , "16-06-2000" , "Nam" , "Vĩnh Long" ),

"03" => new Student ( "03" , "Nguyễn Văn C" , "17-06-2000" , "Nam" , "Cần Thơ" ),

"04" => new Student ( "04" , "Nguyễn Văn D" , "18-06-2000" , "Nam" , "Cần Thơ" ) );

Trang 11

return $this-> name ;

}

return $this-> birthday ;

}

return $this-> gender ;

}

return $this-> address ;

}

$birthday, $gender, $address){

$this-> id = $id;

$this-> name = $name;

$this-> birthday = $birthday;

$this-> gender = $gender;

$this-> address = $address;

} }

Trang 12

− View: định đạng lại dữ liệu nhận được từ model.

− Trình bày nhiều dạng dữ liệu (xml, json, array,…).

12

< table >

< tr >< td > Mã số </ td >< td > <?php echo $student->getID()?> </ td ></ tr >

< tr >< td > Họ và tên </ td >< td > <?php echo $student->getName()?> </ td ></ tr >

< tr >< td > Ngày sinh </ td >< td > <?php echo $student->getBirthday() ?></ td ></ tr >

< tr >< td > Giới tính </ td >< td > <?php echo $student->getGender()?> </ td ></ tr >

< tr >< td > Địa chỉ </ td >< td > <?php echo $student->getAddress()?> </ td ></ tr >

Trang 16

Chứa phương thức kết nối/ hủy kết nối đến database

Trang 18

18 18

include_once( "model/StudentModel.php" );

class Controller {

private $modelStudent ;

public function construct(){

$this-> modelStudent = new

$student = $this-> modelStudent

->getStudent( $_GET[ 'id' ]);

include 'view/student.php' ;

} }

public function construct(){

$this-> modelStudent = new

StudentModel ( (new Database())->getConnection() );

}

public function invoke(){

if (!isset( $_GET ['id'])){

$students = $this-> modelStudent

->getStudentList();

include 'view/student-list.php' ;

}

else{

$student = $this-> modelStudent

->getStudent( $_GET[ 'id' ]);

include 'view/student.php' ;

} }

}

Controller.php

Trang 19

$sql = "Select * from Student";

$result = mysqli_query ( $this->connection, $sql );

while ( $row = mysqli_fetch_array ( $result ) ) {

$data [] = new Student($row["id"],

$row["name"],$row["birthday"],$row["gender"],$row["address"]);

}return $data;

}functiongetStudent($id) {

$sql = "Select * from Student where id = $id";

$result = mysqli_query ( $this->connection, $sql );

if (mysqli_num_rows ( $result ) > 0) {

$row = mysqli_fetch_assoc ( $result );

$student = new Student($row["id"],

$row["name"],$row["birthday"],$row["gender"],$row["address"]);

return $student;

}return null;

}

Trang 20

public function getName(){

return $this-> name ; }

public function getBirthday(){

return $this-> birthday ; }

public function getGender(){

return $this-> gender ; }

public function getAddress(){

return $this-> address ; }

public function construct($id, $name, $birthday, $gender, $address){

public function getName(){

return $this-> name ; }

public function getBirthday(){

return $this-> birthday ; }

public function getGender(){

return $this-> gender ; }

public function getAddress(){

return $this-> address ; }

public function construct($id, $name, $birthday, $gender, $address){

}

Trang 21

< table >

< tr >< td > Mã số </ td >< td > <?phpecho $student->getID() ?></ td ></ tr >

< tr >< td > Họ và tên </ td >< td > <?phpecho $student->getName() ?></ td ></ tr >

< tr >< td > Ngày sinh </ td >< td > <?php echo $student->getBirthday() ?></ td ></ tr >

< tr >< td > Giới tính </ td >< td > <?phpecho $student->getGender() ?></ td ></ tr >

< tr >< td > Địa chỉ </ td >< td > <?phpecho $student->getAddress() ?></ td ></ tr >

< tr >< td > Giới tính </ td >< td > <?phpecho $student->getGender() ?></ td ></ tr >

< tr >< td > Địa chỉ </ td >< td > <?phpecho $student->getAddress() ?></ td ></ tr >

</ table >

view/student.php

Trang 22

</table>

Trang 23

View: student-list.php

View: student.php

http://localhost/MVC/mvc-student-datebase/index.php

Trang 24

Tài liệu tham khảo

Ngày đăng: 30/10/2021, 05:15

HÌNH ẢNH LIÊN QUAN

MÔ HÌNH MVC TRONG PHP - Bài giảng Phát triển ứng dụng Web (GV Nguyễn Hữu Thể) Bài 6
MÔ HÌNH MVC TRONG PHP (Trang 1)
− MVC: một kiến trúc phần mềm (hay mô hình thiết kế) được sử - Bài giảng Phát triển ứng dụng Web (GV Nguyễn Hữu Thể) Bài 6
m ột kiến trúc phần mềm (hay mô hình thiết kế) được sử (Trang 3)
3. Thiết kế ứng dụng Web theo mô hình MVC - Bài giảng Phát triển ứng dụng Web (GV Nguyễn Hữu Thể) Bài 6
3. Thiết kế ứng dụng Web theo mô hình MVC (Trang 6)
1. Mô hình MVC - Bài giảng Phát triển ứng dụng Web (GV Nguyễn Hữu Thể) Bài 6
1. Mô hình MVC (Trang 6)
1. Mô hình MVC - Bài giảng Phát triển ứng dụng Web (GV Nguyễn Hữu Thể) Bài 6
1. Mô hình MVC (Trang 9)
1. Mô hình MVC - Bài giảng Phát triển ứng dụng Web (GV Nguyễn Hữu Thể) Bài 6
1. Mô hình MVC (Trang 13)
1. Mô hình MVC - Bài giảng Phát triển ứng dụng Web (GV Nguyễn Hữu Thể) Bài 6
1. Mô hình MVC (Trang 14)
1. Mô hình MVC - Bài giảng Phát triển ứng dụng Web (GV Nguyễn Hữu Thể) Bài 6
1. Mô hình MVC (Trang 15)
ỨNG DỤNG MVC CÓ DATABASE - Bài giảng Phát triển ứng dụng Web (GV Nguyễn Hữu Thể) Bài 6
ỨNG DỤNG MVC CÓ DATABASE (Trang 15)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w