【问题标题】:Class::DBI-like library for php?Class::DBI-like library for php?
【发布时间】:2010-09-05 17:10:15
【问题描述】:

我继承了一个旧的硬壳PHP application,我想将它重构为更好处理的东西,但要循序渐进。在 perl 的 CPAN 中,围绕 Class::DBI 有一系列类,它们允许您使用数据库行作为代码中对象的基础,库会根据需要生成 accessor methods 等,还允许您添加其他方法.

有没有人知道 PHP 有类似的东西?尤其是不需要大规模采用“框架”的东西……如果它也可以在 PHP4 中工作,那么可以加分,但老实说,我很想有另一个理由放弃它。 :-)

【问题讨论】:

    标签: php perl orm


    【解决方案1】:

    它现在已经失效,但phpdbi 可能值得一看。如果您愿意放弃一些警告(框架警告),我发现Doctrine 是在 PHP 中访问数据库的一种非常简洁的方式。无论如何都值得研究。

    【讨论】:

      【解决方案2】:

      Class::DBI 是 perl 的ORM (Object Relational Mapper)。在谷歌上搜索“PHP ORM”会得到一些不错的结果,包括Doctrin,我很幸运。我会从那里开始,然后按照你的方式往上走。

      【讨论】:

        【解决方案3】:

        我正在尝试获得更多关于我自己的项目的反馈,所以我会建议我对 ORM 的看法:ORMer

        用法示例为here

        你可以分阶段使用它,它不需要你采用 MVC,而且只需要很少的设置。

        【讨论】:

          【解决方案4】:

          正确的做法是通过抽象层访问数据库,如果您更改 RDBMS 或实现该访问的方式,您只需修改该层,而应用程序的所有其余部分保持不变。

          为此,为了让您的应用程序从知道如何处理数据库中解放出来,您的数据库访问抽象层必须由诸如ADODB 之类的框架来实现。

          与该层相关的所有文件必须位于子目录中:

          • /阿多

          在此目录中,您将放置所有 .php.inc 文件,其中包含访问数据库的一般方法。

          【讨论】:

            【解决方案5】:

            梨的MDB2怎么样?

            它为所有人提供了一个通用的 API 支持的关系型数据库。主要区别 到大多数其他 DB 抽象包 是 MDB2 更进一步 确保可移植性。

            顺便说一句:@GaryF 你的链接有什么奇怪的标题属性?是您添加的还是由 SO 添加的?

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-06-22
              • 1970-01-01
              • 1970-01-01
              • 2016-04-18
              • 2010-09-07
              • 2010-11-08
              相关资源
              最近更新 更多