前言
模块的功能通常在控制器中实现。1.创建自定义控制器
StudentController.php:
<?php
/**
* 学生模块控制器类
* 模块管理一般有:CURD增删改查
* 模型根据数据表创建,控制器根据模块创建
* 通常一个控制器完成一个模块的功能
* Class StudentController
*/
class StudentController
{
/**
* 获取所有数据
* @return mixed
*/
public function listAll()
{
// 实例化模型,获取数据
$stu = new StudentModel();
$data = $stu->getAll();
// 格式化
echo '<pre>';
print_r($data);
}
/**
* 获取单条数据
* @return mixed
*/
public function info($id=1)
{
$id = isset($_GET['id']) ? $_GET['id'] : $id;
// 实例化模型,获取数据
$stu = new StudentModel();
$data = $stu->get($id);
// 格式化
echo '<pre>';
print_r($data);
//return $data;
}
}
<?php
/**
* 前端控制器,入口文件功能,请求分发器
*/
// 加载模型类
require_once 'model/Db.php';
require_once 'model/Model.php';
require_once 'model/StudentModel.php';
// 判断当前url中是否有c:controller
$controller = isset($_GET['c']) ? $_GET['c'] : 'Student';
// 给控制器添加后缀
$controller .= 'Controller';
// 加载控制器类
require_once 'controller/'.$controller.'.php';
// 获取方法
$action = isset($_GET['a']) ? $_GET['a'] : 'listAll';
// 实例化自定义控制器类
$stu = new $controller();
$stu->$action(); // 根据学生id,默认为1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
3.控制器功能测试
查询所有数据:http://localhost/php.cn/mvc/
Array
(
[0] => Array
(
[id] => 1
[name] => 郭靖
[email] => guojing@php.cn
[course] => php
[grade] => 80
[create_time] => 1505054471
[update_time] => 1505054471
)
[1] => Array
(
[id] => 2
[name] => 黄蓉
[email] => huangrong@php.cn
[course] => mysql
[grade] => 88
[create_time] => 1505054471
[update_time] => 1505054471
)
[2] => Array
(
[id] => 3
[name] => 杨康
[email] => yangkang@php.cn
[course] => mysql
[grade] => 67
[create_time] => 1505054471
[update_time] => 1505054471
)
[3] => Array
(
[id] => 4
[name] => 洪七
[email] => hongqi@php.cn
[course] => php
[grade] => 35
[create_time] => 1505054471
[update_time] => 1505054471
)
[4] => Array
(
[id] => 5
[name] => 老顽童
[email] => laowantong@php.cn
[course] => html
[grade] => 78
[create_time] => 1505054471
[update_time] => 1505054471
)
[5] => Array
(
[id] => 6
[name] => 欧阳峰
[email] => ouyangfeng@php.cn
[course] => mysql
[grade] => 56
[create_time] => 1505054471
[update_time] => 1505054471
)
[6] => Array
(
[id] => 7
[name] => 杨过
[email] => yangguo@php.cn
[course] => php
[grade] => 99
[create_time] => 1505054471
[update_time] => 1505054471
)
[7] => Array
(
[id] => 8
[name] => 小龙女
[email] => xiaolongnv@php.cn
[course] => html
[grade] => 80
[create_time] => 1505054471
[update_time] => 1505054471
)
[8] => Array
(
[id] => 9
[name] => 张无忌
[email] => zhangwuji@php.cn
[course] => mysql
[grade] => 63
[create_time] => 1505054471
[update_time] => 1505054471
)
[9] => Array
(
[id] => 10
[name] => 赵敏
[email] => zhaomin@php.cn
[course] => php
[grade] => 80
[create_time] => 1505054471
[update_time] => 1505722385
)
)
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
查询单条数据:http://localhost/php.cn/mvc/?a=info&id=9
Array
(
[id] => 9
[name] => 张无忌
[email] => zhangwuji@php.cn
[course] => mysql
[grade] => 63
[create_time] => 1505054471
[update_time] => 1505054471
)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10