在现代web开发中,MVC(模型-视图-控制器)架构已经成为一种标准方法,以便于构建高效和可维护的应用程序。PHP作为一种流行的服务器端编程语言,与MVC结合使用非常普遍。本文将深入探讨PHP MVC的实际应用,帮助开发者在项目中更好地利用这一架构。
什么是MVC架构
MVC架构将应用程序分为三个核心组成部分:模型(Model)、视图(View)和控制器(Controller)。这种分离有助于组织代码,使之更易于管理和扩展。
模型(Model)
模型负责处理应用程序的数据和业务逻辑。它代表了应用程序中所有的数据以及与数据交互的规则。
视图(View)
视图是用户界面部分,负责显示数据给用户。它将模型数据以适合用户查看的格式展示。
控制器(Controller)
控制器充当模型和视图之间的桥梁,接收用户输入并调用模型和视图来完成用户的请求。
构建一个简单的PHP MVC应用
接下来,我们将通过一个简单示例来演示如何构建一个基本的PHP MVC应用。我们将创建一个小型的用户目录,包括用户的添加、删除和查看功能。
目录结构
首先,创建以下目录结构:
/mvc-app
/app
/controllers
/models
/views
/public
/index.php
index.php文件
在public目录下创建index.php文件,它将作为应用程序的入口点。
require '../app/controllers/UserController.php';
$userController = new UserController();
$userController->index();
?>
模型:User.php
在models目录下创建User.php文件,定义用户模型。
class User {
private static $users = [];
public static function all() {
return self::$users;
}
public static function add($name) {
self::$users[] = $name;
}
public static function delete($name) {
self::$users = array_filter(self::$users, function($user) use ($name) {
return $user !== $name;
});
}
}
控制器:UserController.php
在controllers目录下创建UserController.php文件,处理用户请求。
require '../app/models/User.php';
class UserController {
public function index() {
$users = User::all();
include '../app/views/user_list.php';
}
public function add($name) {
User::add($name);
$this->index();
}
public function delete($name) {
User::delete($name);
$this->index();
}
}
视图:user_list.php
在views目录下创建user_list.php文件,显示用户列表。
echo "用户列表
";
echo "";
foreach ($users as $user) {
echo "$user 删除";
}
echo "";
if (isset($_GET['action']) && $_GET['action'] === 'add') {
User::add($_GET['name']);
}
?>