说几乎所有CMS都有数据库抽象是否正确

时间:2009-12-22 03:30:12

标签: php content-management-system

作为一名php学习者,我一直在尝试一些较小的PHP CMS'。我使用的所有CMS都使用数据库抽象层。

我认为这是几乎所有PHP CMS的特征吗?

谢谢!

7 个答案:

答案 0 :(得分:2)

嗯,所有(或大多数)汽车都有4个轮子。但这并不意味着5轮车不能成为汽车。

CMS对数据抽象有意义,并不意味着它们必须具有。

答案 1 :(得分:2)

CMS唯一具有固有特征的是它将内容与显示分开。存储内容的位置或方式是任意的。连接到数据存储的机制也没有任何意义。您可能认为“传统”数据库很常见,但并非必要 - 任何数据支持都是内容数据库 - 文本文件,XML,SimpleDb或Google App Engine等。

答案 2 :(得分:1)

我认为可以说大多数 CMS'使用DAL,但可能有一些您从未听说过的遥控器没有,所以我不会声称所有 CMS'使用一个。

答案 3 :(得分:1)

不是真的。这是良好的软件设计的一个特点。经验法则是:“编程到接口,而不是实现”。

我建议抓住一个好的数据库层并将这些挫折推到脑后。良好的软件设计需要纪律!

也许您可能想了解一些设计模式和原则。以后会为您节省很多麻烦:http://en.wikipedia.org/wiki/Design_pattern

祝你学习顺利!

答案 4 :(得分:0)

我不这么说,Wikipedia似乎也同意我的看法。

答案 5 :(得分:0)

是的,我同意。两个主要的PHP CMS库(Drupal和Joomla)都有某种形式的数据库抽象although Drupal's is pretty slim。 Joomla looks like it might have a little more to it than Drupal

答案 6 :(得分:0)

数据库抽象层是几乎所有基于Web的应用程序的特征。

这通常用于实现关注点分离: http://en.wikipedia.org/wiki/Separation_of_concerns