php – 使用PDO创建模型层

我正在开发一个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

上一篇:JAVA-抽象


下一篇:java – Bridge Pattern是否将抽象与实现分离?