是否可以全局化已在类中声明的实例?
例如:
<?php
class Application
{
public $ioClass = new Class();
public $ioGlobalClass = new GlobalClass();
public function __construct()
{
// constructor
}
}
class Class
{
public function __construct()
{
// constructor
}
public function doSomething()
{
// is this possible?
global $ioGlobalClass;
echo $ioGlobalClass->helloWorld();
}
}
?>
我可以在上面这个例子中做 global $ ioGlobalClass; 吗?
答案 0 :(得分:2)
如果没有在任何地方实例化,我希望不会。单身人士可能会有更多的运气:
public static $ioGlobalClass = new GlobalClass()
然后:
Application::$ioGlobalClass->helloWorld();
答案 1 :(得分:-1)
当然可以:
<?php
require_once('global_class.php');
class Application
{
public $ioGlobalClass;
public function __construct()
{
global $ioGlobalClass;
$this->ioGlobalClass = $ioGlobalClass;
}
...
在global_class.php
中你只需写:
<?php
global $ioGlobalClass;
$ioGlobalClass = new GlobalClass();