当前位置:首页 > PHP

php mvc 实现

2026-02-13 14:13:28PHP

PHP MVC 实现步骤

模型(Model)
模型负责处理数据和业务逻辑。创建一个类封装数据库操作,例如查询、插入、更新和删除。使用 PDO 或 MySQLi 扩展与数据库交互。模型不直接处理用户请求或显示数据。

class UserModel {
    private $db;

    public function __construct($db) {
        $this->db = $db;
    }

    public function getUsers() {
        $stmt = $this->db->query("SELECT * FROM users");
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    }
}

视图(View)
视图负责展示数据,通常是 HTML 模板。视图从控制器接收数据并渲染页面。避免在视图中包含业务逻辑。

php mvc 实现

// views/user_list.php
foreach ($users as $user) {
    echo "<p>{$user['name']}</p>";
}

控制器(Controller)
控制器处理用户请求,协调模型和视图。从模型中获取数据,传递给视图渲染。一个基础控制器可能包含路由逻辑。

php mvc 实现

class UserController {
    private $model;

    public function __construct($model) {
        $this->model = $model;
    }

    public function listUsers() {
        $users = $this->model->getUsers();
        include 'views/user_list.php';
    }
}

路由处理

使用单一入口文件(如 index.php)解析 URL,调用对应的控制器和方法。可以通过 $_GET 参数或正则表达式匹配路由。

$action = $_GET['action'] ?? 'default';
$controller = new UserController($model);

if ($action === 'list') {
    $controller->listUsers();
}

依赖管理

使用依赖注入或容器管理模型、控制器和服务的实例化。避免在控制器中直接实例化模型,提高可测试性。

$db = new PDO("mysql:host=localhost;dbname=test", "user", "pass");
$model = new UserModel($db);
$controller = new UserController($model);

目录结构示例

app/
├── models/
│   └── UserModel.php
├── views/
│   └── user_list.php
├── controllers/
│   └── UserController.php
public/
└── index.php

标签: phpmvc
分享给朋友:

相关文章

php实现验证码

php实现验证码

PHP实现验证码的方法 使用GD库生成验证码 GD库是PHP中处理图像的扩展,可用于生成验证码图片。 <?php session_start(); $width = 120; $height…

git php实现

git php实现

Git 与 PHP 的集成实现 使用 PHP 执行 Git 命令 通过 PHP 的 exec()、shell_exec() 或 passthru() 函数可以直接调用 Git 命令,适用于服务器端操作…

php实现定时任务

php实现定时任务

PHP 实现定时任务的几种方法 在 PHP 中实现定时任务可以通过多种方式完成,具体选择取决于项目需求和服务器环境。以下是常见的实现方法: 使用 Cron 任务 Cron 是 Linux 系统中常…

php实现队列

php实现队列

PHP实现队列的方法 队列是一种先进先出(FIFO)的数据结构,PHP可以通过多种方式实现队列功能。 使用数组模拟队列 PHP数组可以模拟队列的基本操作,通过array_push和array_sh…

php购物车实现

php购物车实现

PHP购物车实现方法 使用PHP实现购物车功能可以通过多种方式完成,以下是几种常见的实现方法: Session存储购物车数据 利用PHP的$_SESSION超全局变量存储购物车数据是最简单的方法。用…

php实现聊天

php实现聊天

实现 PHP 聊天功能的方法 使用 WebSocket 和 PHP 实现实时聊天 WebSocket 是一种全双工通信协议,适合实现实时聊天功能。PHP 可以通过 Ratchet 库实现 WebSo…