如何使在类函数中创建的变量在该类函数之外可用?
例如,我的主类的构造函数创建了一个日志类的实例。我希望这个 $log 变量在我假设的其他类中可用(使用 global 关键字)。
这可能吗?
如何使在类函数中创建的变量在该类函数之外可用?
例如,我的主类的构造函数创建了一个日志类的实例。我希望这个 $log 变量在我假设的其他类中可用(使用 global 关键字)。
这可能吗?
您可以使用静态。
class Main
{
static private $log;
public function __construct()
{
self::$log = new Log();
}
static public function getLog()
{
return self::$log;
}
}
现在您可以在任何地方使用 $log 访问
Main::getLog();
使用全局变量会破坏 OOP 的目的。OOP 旨在减轻依赖性并为模块化使用提供代码包含。
您只是在接近您的应用程序设计错误,而是设计访问日志实例的简易性。那是; 实例化您的日志记录类并将实例存储在其他依赖它的类可以访问(通过设计)的地方。一种“注册表”。