Site logo
Authors
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Published on
Published on

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.