Tìm hiểu mô hình MVC trong PHP
MVC (Model-View-Controller) là một mẫu kiến trúc phần mềm phổ biến được sử dụng để phát triển các ứng dụng web. MVC giúp tách biệt logic nghiệp vụ, giao diện người dùng và điều khiển, giúp mã nguồn dễ bảo trì và mở rộng hơn.
Khái niệm cơ bản về MVC
Model
Model đại diện cho dữ liệu và logic nghiệp vụ của ứng dụng. Nó chịu trách nhiệm quản lý dữ liệu, bao gồm truy xuất và lưu trữ dữ liệu từ cơ sở dữ liệu.
View
View đại diện cho giao diện người dùng của ứng dụng. Nó chịu trách nhiệm hiển thị dữ liệu từ Model và gửi các yêu cầu của người dùng đến Controller.
Controller
Controller chịu trách nhiệm xử lý các yêu cầu từ người dùng, tương tác với Model để lấy dữ liệu và cập nhật View để hiển thị dữ liệu.
Cấu trúc thư mục MVC
Một ứng dụng MVC thường có cấu trúc thư mục như sau:
/app
/controllers
HomeController.php
/models
User.php
/views
/home
index.php
/public
index.php
Tạo ứng dụng MVC đơn giản
Bước 1: Tạo Model
File: /app/models/User.php
// 014-mvc/app/models/User.php
class User {
private $name;
private $email;
public function __construct($name, $email) {
$this->name = $name;
$this->email = $email;
}
public function getName() {
return $this->name;
}
public function getEmail() {
return $this->email;
}
}
Bước 2: Tạo View
File: /app/views/home/index.php
// 014-mvc/app/views/home/index.php -->
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Welcome, <?php echo $user->getName(); ?>!</h1>
<p>Your email is: <?php echo $user->getEmail(); ?></p>
</body>
</html>
Bước 3: Tạo Controller
File: /app/controllers/HomeController.php
// 014-mvc/app/controllers/HomeController.php
require_once '../models/User.php';
class HomeController {
public function index() {
$user = new User("John Doe", "john@example.com");
require '../views/home/index.php';
}
}
Bước 4: Tạo điểm vào chính
File: /public/index.php
// 014-mvc/public/index.php
require_once '../app/controllers/HomeController.php';
$controller = new HomeController();
$controller->index();
Chạy ứng dụng
Chạy ứng dụng bằng cách sau:
1. Mở terminal và di chuyển đến thư mục public
của ứng dụng.
2. Chạy lệnh php -S localhost:8000
để khởi chạy máy chủ web tích hợp sẵn trong PHP.
3. Mở trình duyệt và truy cập http://localhost:8000
để xem ứng dụng hoạt động.
Kết luận
MVC là một mẫu kiến trúc mạnh mẽ giúp tách biệt logic nghiệp vụ, giao diện người dùng và điều khiển, giúp mã nguồn dễ bảo trì và mở rộng hơn. Bằng cách hiểu và sử dụng MVC, bạn có thể phát triển các ứng dụng PHP một cách hiệu quả và linh hoạt hơn.