使用一个注册类将其他类保存到注册类中,然后使用时根据保存的健名去获取相应的对象
解决全局对象和交换对象
已经创建好的对象,挂载到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可
将对象注册到全局的树上,任何地方都直接去访问
<?php
class Register
{
private $_instance = array();
public static function setInstance($object, $alias = null)
{
$alias = $alias ?: get_class($object);
$this->_instance[$alias] = $object;
}
public static function getInstance($name)
{
return $this->_instance[$name];
}
public function unsetInstance($name)
{
unset($this->_instance[$name]);
}
}
$object = new class {
public function index()
{
echo __CLASS__.__METHOD__;
}
}
$object->index();
Register::setInstance($object, 'classes');
$object1 = Register::getInstance('classes');
$object1->index();