我一直在使用一些实现phpBB DBAL的代码。最近我不得不围绕它实现一个更完整的包,并决定始终使用DBAL。总的来说,一切都好。但偶尔有些情况下我无法看到使用它的逻辑。这似乎使事情变得更加复杂。
DBAL提供什么好处,而不是直接编写sql语句?
答案 0 :(得分:1)
来自维基百科(http://en.wikipedia.org/wiki/Database_abstraction_layer):
API级别抽象
OpenDBX等库通过向应用程序开发人员提供单个低级编程接口来统一对数据库的访问。 它们的优势通常是速度和灵活性,因为它们不依赖于特定的查询语言(子集),只需要实现一个薄层来实现其目标。应用程序开发人员可以从所有语言功能中进行选择,但必须提供可配置的语句来查询或更改表。否则他的申请也将绑定到一个数据库。
答案 1 :(得分:1)
烹饪菜肴时,您不希望几位厨师可以使用锅。他们都可以添加香料而不知道另一位厨师已经添加了香料。理想情况下,您需要一个单独的厨师作为单一访问点,以避免破坏汤。
与数据库相同。单点访问可以避免多个服务以不同方式访问数据的问题。