PHP中的Db抽象的职责在哪里开始和结束?
时间:2020-03-06 14:39:03 来源:igfitidea点击:
在PHP
中,最好的做法是确定`Db抽象层'的职责。
就性能而言," OOP"是个好主意吗?通用目标代码应为多少,非常具体的功能应为多少?
解决方案
已经有一些很好的解决方案。 DAL并非一件容易的事,特别是因为涉及许多安全问题。我建议我们检查一下PDO和MySQLi。即使我们为其中之一编写了包装器类,也将以健壮和安全的方式为我们完成繁重的工作。
在我编写的大多数应用程序中,通常有两种不同类型的数据访问。一种是用于事务处理的操作:从数据存储中检索特定对象,对其进行修改并将其保存回去。我发现可靠的ORM是这里的最佳解决方案。不要尝试自己编写(可能会很有趣)。
数据访问的另一种常见类型是报告。 ORM并不是这里的最佳解决方案,这就是为什么我通常采用使用自定义SQL查询的方案的原因。 Plain ol'PDO在这里效果很好。我们可以仅为该报告创建一个特殊值对象,然后让PDO查询将值提取到该对象中。报表需要快速,并且使用ORM层构建报表通常太慢且麻烦。