将在类中创建的变量声明为全局变量

时间:2013-03-20 02:39:22

标签: php

如何创建在类函数之外可用的类函数中创建的变量?

例如,我的主类的构造函数创建了一个日志记录类的实例。我希望这个$ log变量在其他类中可用(使用global关键字)我会假设。

这可能吗?

2 个答案:

答案 0 :(得分:1)

您可以使用静态。

class Main
    {
    static private $log;

    public function __construct()
        {
        self::$log = new Log();
        }

    static public function getLog()
        {
        return self::$log;
        }
    }

现在,您可以使用

访问$ log
Main::getLog();

答案 1 :(得分:1)

使用全局会破坏OOP的目的。 OOP旨在减轻依赖性并为模块化使用提供代码控制。

您只是简单地处理应用程序设计错误,而是设计易于访问日志记录实例。那是;实例化您的日志记录类并将实例存储在可由其他依赖它的类访问(按设计)的位置。一种“注册表”。