什么是PHP中的DBAL,DAO,DAL,Model和DLL

时间:2011-07-15 13:39:15

标签: php oop architecture

我想要一个数据层内所有层的正确示例。什么是DBAL,DAO,DAL,模型和DLL?提到的每一层都保留了哪种代码?

我的一般理解:

DLL :数据逻辑层:控制数据库操作的层,如

getLatestNewsRecords();

模型:数据表的表示形式,采用对象格式

class news {
    public $title;
    public function setTitle() {}
    public fucntion getTitle() {}
}

DAL :数据访问层接受BLL / DLL请求以及模型并执行必要操作的层

class new {
    public function save(News $news) {
        $date = $news -> getDate();
        $date = strtotime($date);
        $news -> setDate($date);

        $this -> dao -> save($news);
}

DAO :数据访问对象可以准备好与数据库交互的原始数据的层

DBAL :数据库抽象层:包含连接等接口方法的图层。

class news {
    public function save(News $news) {

        $title = $news -> getTitle();
        $dbal = new DBAL();
        $dbal -> query() -> insert("title" => $title");
    }
}

1 个答案:

答案 0 :(得分:0)

我不能称自己为优秀的OOP程序员,我认为其中一些概念可能来自不同的使用领域。不太可能有一天你需要在单一产品中实现所有这些。更好地实现一些现成的架构模式,而不是试图实现它们的各个部分。如果您之前没有阅读过,可以从Wikipedia article on architectural patterns开始。