gpt4 book ai didi

php - 如何在codeigniter中分离数据访问层

转载 作者:可可西里 更新时间:2023-11-01 00:52:32 26 4
gpt4 key购买 nike

我曾经在模型本身中编写数据访问功能。现在我想将数据访问与业务逻辑分开。我使用 codeigniter 作为框架。似乎一种方法是使用 ORM,但我猜它会降低性能。

是否有任何通用的最佳实践?

最佳答案

看看POEAA的数据源架构模式:

CodeIgniter 声称使用 ActiveRecord,but it doesnt .它更像是一个基本的 QueryObject .要真正将 DAO 与域对象分开,您必须使用 DataMapper。根据您的映射需求的复杂性,您可以自己构建一个或使用 ORM .具有讽刺意味的是,PHP 世界中的大多数 ORM 都是基于 ActiveRecord,which is pretty ill-suited for ORM . Doctrine 2 是我所知道的唯一使用 DataMapper 方法的方法。

ORM 总是会带来性能损失(而且可能会很严重)。但是,您不应该仅仅因为这个就排除 ORM。在高 impedance mismatch 中手工制作高效的 DataMapper场景可以是乏味和困难的工作。同样,请参阅 POEAA 以获取常见对象关系模式的列表。

似乎有一个DataMapper implementation for CodeIgniter with Overzealous DMZ .我从来没有用过它,也不能说什么。它只是在快速谷歌搜索后出现的,所以我想我把它添加到这里。

关于php - 如何在codeigniter中分离数据访问层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4059222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com