数据库抽象&工厂方法

时间:2010-06-03 19:39:05

标签: php design-patterns pdo pear database-abstraction

我有兴趣了解更多关于PHP for Database Abstraction& amp;的设计实践。工厂方法。对于背景,我的网站是目前处于测试模式的共同兴趣社交网络社区。

目前,我已经开始将用于对象检索的旧代码移动到工厂方法。但是,我觉得我通过在每个函数/方法中保持大量的SQL表名和结构来限制自己。

问题:

  1. 如果我没有预料到,是否有理由使用PDO(或类似) 切换数据库?

  2. PDO可以与MySqli准备好的语句接口吗? 目前使用?

  3. 是否可以帮助我将每个方法的表名分开? (如果不是,那是什么 我可能想要其他设计模式 研究?)

  4. 一旦我有一个非常庞大的会员基数,它会减慢我的网站吗?

3 个答案:

答案 0 :(得分:1)

Nettuts最近发表了一篇关于some of the benefits to using PDO的文章。

至于关于抽象的问题,您可以查看对象关系映射(ORM),它允许您以与本机php对象相同的方式访问数据库记录。我的大部分经验都是使用Kohana框架,我喜欢他们的ORM如何工作,但许多流行的php框架应该有很好的数据库抽象方法示例。我发现阅读其他人以“正确”方式做到的地方可以帮助我。

答案 1 :(得分:1)

我想让Rookwood第二次看到ORM。我对Doctrine有很好的经验。自己建造一些东西会浪费你在moste案件中的时间。

答案 2 :(得分:1)

我建议使用PEAR或PDO ..为什么?

1)它已被成千上万的程序员测试和使用。如果您需要其他程序员来帮助您,他们很有可能了解PDO。他们基本上没有机会了解您的API。

2)你认为你不会改变数据库....但是,如果版本发生变化或类似的事情会迫使你迁移,该怎么办?