是否有可能将已在类中声明的实例全局化?是否有可能将已在类中声明的实例全局化?
例如:
<?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();
}
}
?>
所以我可以做全球$ ioGlobalClass;在上面的例子中?
为什么你还想要吗?保持清晰的全局和单身。几乎总是有更好的方法来处理和使用它们几乎肯定会让你后来陷入困境...... – liquorvicar 2012-03-28 15:40:00
它只是一个问题,如果它可能的话。接下来,我尝试了一种非全局/非单例解决方案,它可以解决火车残骸模式。 – pascalvgemert 2012-03-28 15:44:36
@liquorvicar单身人士并非天生就是邪恶的 - 有时间和地点给他们(理想的会议管理班实例) - 但它们可能导致你变得懒惰......如果你在整个应用程序中发现大量的Class :: getInstance()调用,你知道你做错了:) – CD001 2012-03-28 15:57:49