【问题标题】:How to extend mysql functions into my own db class?如何将 mysql 函数扩展到我自己的 db 类中?
【发布时间】:2012-01-31 15:13:32
【问题描述】:

我有自己的 db 类,它有一些我正在使用的专门构建的函数。

我还想在该类中包含所有标准 mysql 函数,以便我可以有效地使用封装。而不是处理对象中的数据,然后使用该类对象的一些外部函数对其进行处理。

我想要所有常用功能,例如

mysql_num_rows()、mysql_fetch_object()、mysql_fetch_assoc()

所以结果是:

例如

$rows = $db->mysql_num_rows($result);

而不是做

$rows = mysql_num_rows($result);

我假设标准 mysql 函数属于 PHP 中的某个类。但是我找不到有关此的文档。

如果你能指出我这样做的正确方向,那就太棒了

【问题讨论】:

    标签: php mysql class inheritance extends


    【解决方案1】:

    实际上,您所指的“标准” MySQL 函数将在未来的 PHP 版本中被弃用(取自 http://www.php.net/manual/en/mysqlinfo.api.choosing.php,强调我的):

    建议使用 mysqli 或 PDO_MySQL 扩展。 它 不建议使用旧的mysql扩展进行新的开发。

    即使是 mysqli_* 函数也只是 PHP 核心的一部分,但不属于任何类。如果您希望采用面向对象的方法,PDO_MySQL 是您的最佳选择。

    【讨论】:

    • 谢谢,这对我的 db 类很好,我可以从我的主系统代码中提供一个抽象层,这样当它被弃用时,我可以轻松切换到 mysqli 或 PDO。
    【解决方案2】:

    umm.. 在你的类中创建同名的函数,然后从中调用标准的 MySQL 函数怎么样。例如,类似:

    class Db {
        function mysql_num_rows($result) {
            return mysql_num_rows($result);
        }
    }
    

    【讨论】:

      【解决方案3】:

      在你的函数中编写标准函数并使用它们

            function yourFunction(){
            //standardFuncton
            }
      

      【讨论】:

        猜你喜欢
        • 2018-06-03
        • 2016-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-05
        • 2012-08-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多