在PHP中,我们可以使用单例(例如
)轻松引用any classes
中的对象
$obj = SingletonClass::getInstance();
如果我不使用单身人士,还有其他选择吗?
答案 0 :(得分:0)
如果我没有使用Singleton,还有其他选择吗?
是的,这个东西叫做依赖注入,之前已经讨论过很多次了。 基本上,这意味着,您实例化一个类,然后将其实例传递给另一个需要它的类。例如:
$pdo = new PDO(....);
$userGateway = new UserGateway($pdo);
$imageGateway = new ImageGateway($pdo);
如您所见,这些类共享相同的实例。
答案 1 :(得分:-1)
我会推荐单身,但你可以尝试这样的事情:
$GLOBAL = null;
每次你想要发起它:
if ($GLOBAL != null()) {
$GLOBAL = new YourObject();
}
答案 2 :(得分:-2)
只需在全局范围内实例化您的对象即可。下面是一个例子:
#file1.php
require_once('file2.php');
$instance = new ClassName();
#file2.php
function do_something()
{
global $instance;
#do stuff with with
}