当前位置:首页 > 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 模板。视图从控制器接收数据并渲染页面。避免在视图中包含业务逻辑。

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

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

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();
}

依赖管理

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

php mvc 实现

$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…

php 实现登录

php 实现登录

PHP 登录功能实现 使用 PHP 实现登录功能通常需要结合数据库验证和会话管理。以下是一个基本的登录实现流程: 数据库准备 创建用户表存储用户名和密码(建议使用哈希加密): CREATE TAB…

php验证码的实现

php验证码的实现

PHP 验证码实现方法 使用 GD 库生成基础验证码 创建画布并生成随机字符串作为验证码内容: session_start(); $width = 120; $height = 40; $image…

php 实现文件下载

php 实现文件下载

实现文件下载的基本方法 使用 PHP 实现文件下载的核心是通过设置 HTTP 头部信息,强制浏览器将文件作为附件下载而非直接显示。以下是一个基础实现示例: $file_path = '/path/t…

php 实现排序

php 实现排序

PHP 实现数组排序的方法 PHP 提供了多种内置函数和方法来实现数组排序,适用于不同的排序需求。以下是一些常见的排序实现方式: 使用 sort() 函数对数组进行升序排序 sort() 函数对数组…

php 队列的实现

php 队列的实现

PHP 队列的实现方法 使用数据库实现队列 创建一个数据表存储队列任务,包含任务ID、状态、创建时间等字段。通过SQL语句实现任务的入队和出队操作。 // 入队操作 INSERT INTO queu…