2

我想知道其他人对他们的看法。

(对于“静态类”,我的意思是所有函数和变量都是静态的类)。

我发现它们非常实用。我有这个通过 $Db 访问的 PDO 自定义类,并且我必须在每个必须对数据库进行查询的函数上“全局 $Db”。

我刚刚发现了静态类以及它们如何不需要在函数中进行全局化。我将 PDO 类设为静态类,从使用它的函数中删除了所有“全局 $Db”,并像 DB::function() 一样调用它,它像以前一样工作,没有问题,我不会有从现在开始到“global $Db”。我很想对我经常使用的其他类做同样的事情。

所以我觉得做一件好事太好了。或者是吗?

4

1 回答 1

0

要在 PHP 中做类似的事情,您可以使用单例静态函数在您的所有代码中为一个类运行一个对象的单个实例。

class MyClass
{
    private static $s_instance;

    public static function getInstance()
    {
        if (!self::$s_instance)
        {
            self::$s_instance = new MyClass();
        }

        return self::$s_instance;
    }

    private function __construct(...) { ... }

    // All your non-static stuff

}
于 2011-06-24T18:07:05.273 回答