× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Xây dựng khung PHP MVC từ đầu

09/01/2024 01:24

Trong hướng dẫn này, bạn sẽ tìm hiểu cách xây dựng khung công tác PHP Model-View-Controller (MVC) từ đầu.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách xây dựng khung công tác PHP Model-View-Controller (MVC) từ đầu. MVC là một mẫu thiết kế thường được sử dụng trong phát triển web để phân tách logic ứng dụng, dữ liệu và cách trình bày. Bằng cách làm theo hướng dẫn này, bạn sẽ nâng cao hiểu biết của mình về mẫu MVC và cải thiện kỹ năng của mình với tư cách là nhà phát triển PHP. Nếu bạn đang muốn thuê nhà phát triển PHP , việc có hiểu biết vững chắc về khung MVC sẽ có lợi.

 

 

Điều kiện tiên quyết

Để làm theo hướng dẫn này, bạn cần có hiểu biết cơ bản về PHP và lập trình hướng đối tượng. Việc làm quen với Composer, trình quản lý gói PHP, cũng rất hữu ích.

Bước 1: Thiết lập dự án

Tạo một thư mục mới cho dự án của bạn và điều hướng đến nó bằng dòng lệnh:

mkdir php-mvc-framework
cd php-mvc-framework
    
Vỏ bọc

Khởi tạo một dự án Composer mới:

composer init
    
Vỏ bọc

Làm theo lời nhắc để thiết lập dự án của bạn. Khi được yêu cầu về các phần phụ thuộc, hãy để trống ngay bây giờ.

Bước 2: Tạo cấu trúc thư mục

Tạo cấu trúc thư mục sau cho dự án của bạn:

src/
    Controllers/
    Models/
    Views/
    
Vỏ bọc

Bước 3: Xây dựng các thành phần cốt lõi

Bộ định tuyến

Tạo một tập tin mới có tên Router.phptrong src/thư mục. Tệp này sẽ chứa logic định tuyến chính cho khung của bạn.

<?php

namespace MVC;

class Router {
    protected $routes = [];

    public function addRoute($route, $controller, $action) {
        $this->routes[$route] = ['controller' => $controller, 'action' => $action];
    }

    public function dispatch($uri) {
        if (array_key_exists($uri, $this->routes)) {
            $controller = $this->routes[$uri]['controller'];
            $action = $this->routes[$uri]['action'];

            $controller = new $controller();
            $controller->$action();
        } else {
            throw new \Exception("No route found for URI: $uri");
        }
    }
}
    
PHP

Bộ điều khiển cơ sở

Tạo một tập tin mới có tên Controller.phptrong src/thư mục. Tệp này sẽ chứa lớp trình điều khiển cơ sở mà tất cả các trình điều khiển khác sẽ mở rộng.

<?php

namespace MVC;

class Controller {
    protected function render($view, $data = []) {
        extract($data);

        include "Views/$view.php";
    }
}
    
PHP

Bước 4: Triển khai một ứng dụng mẫu

Tạo mô hình

Tạo một tập tin mới có tên User.phptrong src/Models/thư mục. Mô hình này sẽ đại diện cho người dùng trong ứng dụng của bạn.

<?php

namespace MVC\Models;

class User {
    public $name;
    public $email;

    public function __construct($name, $email) {
        $this->name = $name;
        $this->email = $email;
    }
}
    
PHP

Tạo bộ điều khiển

Tạo một tập tin mới có tên UserController.phptrong src/Controllers/thư mục. Bộ điều khiển này sẽ xử lý các hành động liên quan đến người dùng.

<?php

namespace MVC\Controllers;

use MVC\Controller;
use MVC\Models\User;

class UserController extends Controller {
    public function index() {
        $users = [
            new User('John Doe', 'john@example.com'),
            new User('Jane Doe', 'jane@example.com')
        ];

        $this->render('user/index', ['users' => $users]);
    }
}
    
PHP

Tạo chế độ xem

Tạo một tập tin mới có tên index.phptrong src/Views/user/thư mục. Chế độ xem này sẽ hiển thị danh sách người dùng.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>User List</title>
</head>
<body>
    <h1>User List</h1>
    <ul>
        <?php foreach ($users as $user): ?>
            <li><?= $user->name ?> (<?= $user->email ?>)</li>
        <?php endforeach; ?>
    </ul>
</body>
</html>
    
HTML

Thiết lập tuyến đường

Tạo một tập tin mới có tên routes.phptrong src/thư mục. Tệp này sẽ xác định các tuyến đường cho ứng dụng của bạn.

<?php

use MVC\Router;
use MVC\Controllers\UserController;

$router = new Router();

$router->addRoute('/', UserController::class, 'index');
    
PHP

Kiểm tra ứng dụng

Tạo một tệp mới có tên index.phptrong thư mục gốc của dự án của bạn. Tệp này sẽ đóng vai trò là điểm vào cho ứng dụng của bạn.

<?php

require 'vendor/autoload.php';

$uri = $_SERVER['REQUEST_URI'];

$router = require 'src/routes.php';
$router->dispatch($uri);
    
PHP

Chạy máy chủ web PHP tích hợp để kiểm tra ứng dụng của bạn:

php -S localhost:8000
    
Vỏ bọc

Truy cập http://localhost:8000trong trình duyệt web của bạn để xem danh sách người dùng.

Phần kết luận

Bằng cách làm theo hướng dẫn này, bạn đã xây dựng thành công một khung công tác PHP MVC đơn giản từ đầu. Kiến thức này sẽ đóng vai trò là nền tảng vững chắc để xây dựng các ứng dụng phức tạp hơn hoặc thậm chí đóng góp cho các khung công tác PHP MVC hiện có. Nếu bạn đang muốn thuê nhà phát triển PHP , việc hiểu biết vững chắc về khung MVC là điều cần thiết để thành công trong lĩnh vực phát triển web.

Source: https://reintech.io/blog/building-php-mvc-framework-from-scratch