按照mvc开发模式实现一个简易的用户查询功能
时间: 2024-05-16 22:14:16 浏览: 26
好的,下面我给您介绍一下如何按照MVC开发模式实现一个简易的用户查询功能。
首先,我们需要了解MVC开发模式的基本概念:
- Model(模型):负责数据的存储和业务逻辑的处理。
- View(视图):负责展示数据和与用户的交互。
- Controller(控制器):负责接收用户请求,调用模型处理数据,并将结果反馈给视图展示。
接下来,我们按照这个流程来实现用户查询功能。
1. 首先,我们需要创建一个用户数据模型,用于存储用户信息和处理相关业务逻辑。
```php
class UserModel {
protected $users = [
['id'=>1, 'name'=>'Tom', 'age'=>20],
['id'=>2, 'name'=>'Jerry', 'age'=>22],
['id'=>3, 'name'=>'Mike', 'age'=>19],
['id'=>4, 'name'=>'Lucy', 'age'=>21],
];
public function getUserById($id) {
foreach($this->users as $user) {
if($user['id'] == $id) {
return $user;
}
}
return null;
}
public function getUserByName($name) {
foreach($this->users as $user) {
if($user['name'] == $name) {
return $user;
}
}
return null;
}
}
```
2. 接下来,我们需要创建一个用户视图来展示用户信息和接收用户输入。
```php
class UserView {
public function render($user) {
if($user) {
echo "ID: ".$user['id']."<br>";
echo "Name: ".$user['name']."<br>";
echo "Age: ".$user['age']."<br>";
} else {
echo "User not found.";
}
}
public function getInput() {
return isset($_GET['name']) ? $_GET['name'] : null;
}
}
```
3. 最后,我们需要创建一个用户控制器来处理用户请求,调用模型处理数据,并将结果反馈给视图展示。
```php
class UserController {
protected $model;
protected $view;
public function __construct(UserModel $model, UserView $view) {
$this->model = $model;
$this->view = $view;
}
public function show($id = null) {
$user = $this->model->getUserById($id);
$this->view->render($user);
}
public function search() {
$name = $this->view->getInput();
$user = $this->model->getUserByName($name);
$this->view->render($user);
}
}
```
现在,我们已经完成了用户查询功能的MVC开发模式实现。我们可以通过以下代码来测试:
```php
$model = new UserModel();
$view = new UserView();
$controller = new UserController($model, $view);
// 查询 ID 为 1 的用户信息
$controller->show(1);
// 查询名字为 Tom 的用户信息
$controller->search();
```
以上就是按照MVC开发模式实现一个简易的用户查询功能的过程和代码。