PHP项目控制器优化与单入口设计
1. 背景与问题提出
在传统的PHP项目中,每个页面都有自己独立的控制器文件。例如,index.php、jokes.php、editjoke.php和deletejoke.php等。这种方式存在一些问题,比如当需要重命名 DatabaseConnection.php 文件或者更改布局文件时,需要分别修改每个控制器文件。而且每个控制器真正变化的部分只是为布局文件创建 $output 和 $title 变量的中间部分。
2. 创建控制器类
2.1 类的基本结构
为了解决上述问题,可以创建一个单一的控制器类 JokeController 来处理各个页面的操作。首先,创建一个新的目录 controllers ,并在其中创建 JokeController 类。
class JokeController {
private $authorsTable;
private $jokesTable;
public function __construct(DatabaseTable $jokesTable, DatabaseTable $authorsTable) {
$this->jokesTable = $jokesTable;
$this->authorsTable = $authorsTable;
}
超级会员免费看
订阅专栏 解锁全文
1083

被折叠的 条评论
为什么被折叠?



