【问题标题】:PDO: Dynamically detect database driversPDO:动态检测数据库驱动程序
【发布时间】:2013-10-12 20:59:20
【问题描述】:

我正在创建自己的 CMS,其中一部分是确保它可以与不同的数据库类型进行互操作。因此 PDO 是我的默认选择,我的问题是:

有没有办法在PDO连接类中动态检测和设置数据库类型?

据我所知,没有,所以我想只是对不同的数据库类型进行一堆 try/catch,然后编写一个不会向配置文件抛出异常的数据库。

【问题讨论】:

  • 我认为这不是一个好方法。我使用了一些 PHP 框架,它们使用配置文件来选择数据库驱动程序。
  • 嗯? DSN 是否指定!
  • 在您的情况下唯一要做的就是使用DataMapper。如果您需要解释,我会发布答案。
  • 由于 SQL 语法不同,(例如,仅比较 SQL server 和 MySQL)- 你不能完全依赖 PDO。你肯定需要一个抽象层。
  • 检测它,取决于什么?导致做出这样决定的线索是什么?

标签: php pdo


【解决方案1】:

虽然 PHP 有 extension_loaded() 函数,正如 cmets 中指出的那样,多数据库支持并不容易。

您的问题是过早工程的典型示例。您还没有 CMS,甚至不支持一个数据库,但您唯一关心的是如何检测它。

【讨论】:

    猜你喜欢
    • 2012-06-18
    • 2021-06-07
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 2011-12-21
    • 2012-03-08
    相关资源
    最近更新 更多