php - PHP 中的静态类是不好的做法吗?

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

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

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

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

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

最佳答案

要在 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

}

https://stackoverflow.com/questions/6471883/

相关文章:

asp.net - 如何从使用 URL 路由的 ASP.NET 站点上的 URL 中删除参数?

domain-driven-design - 如何更新聚合内的实体

facebook - 如何在 Facebook 上为我的应用程序上传没有黑色颗粒状边框的图标?

python - 如何使用 tripit API 制作独立工具?

makefile - 规范 'simple project' 生成文件

ruby-on-rails - 数组的未定义方法 `serializable_hash'

django - 需要一个用于 Django 的轻量级独立 Web 服务器

memory - 可寻址和可移动的最小存储单元

matlab - 从 MATLAB GUI 中发送 SIGINT

python - 如何在 Mayavi2/VTK 中为绘图添加比例尺?