我正在开发一个MVC应用程序框架,我已经就我应该构建模型层的方式提出了一些建议.
构建模型,以便将每个模型映射到数据库中用于该应用程序的表,因此典型的应用程序将具有该表
>配置
>主题
>论坛
并且每个都将映射到名为PHP的文件,例如app / models / configuration.php
现在我遇到的问题是创建父数据库类以便能够处理特定的表数据,例如:
class PDOModel
{
public function __construct()
{
$this->__Communicator = Registry::getPDOInstance();
}
public function getSingle($id)
{
return /*Row*/;
}
/*Etc*/
}
然后是应用程序模型的类似内容
class Model_Topic extends PDOModel
{
protected $__id_column = 'id';
}
然后在我的控制器中我可以像这样使用:
$Topic = $this->model->topic->get(22);
但我也想考虑自动连接表,是否有任何简单的轻量级库已经过测试并符合我的要求.
任何帮助将受到高度赞赏.
解决方法:
您的基本模型类不应从数据库访问类继承.相反,它应该使用数据库类(或mapper,谁说它必须始终是一个数据库?)然后提供ORM方法(获取,插入,更新等…).
正如其他人发布的那样,你应该使用众多优秀的预制解决方案之一.至于寻找轻量级ORM,其他人之前已经问过这个问题.以下是其中一个问题的链接:
https://*.com/questions/1995834/looking-a-lightweight-php-orm