个人理解,注册器模式和工厂模式相结合使用,是一种可以在开发中方便的获取实例的方法,ArrayAccess是可以使对象可以像数组一样被使用,并不是一回事哦。
ArrayAccess(数组式访问)接口
ArrayAccess {
/* 方法 */
abstract public boolean offsetExists ( mixed $offset ) //return isset($arr['$offset'])
abstract public mixed offsetGet ( mixed $offset ) //return isset($arr['$offset']) ? $arr['$offset'] : null;
abstract public void offsetSet ( mixed $offset , mixed $value )
/*****
if (is_null($offset)) {
$arr[] = $value;
} else {
$arr[$offset] = $value;
}
******/
abstract public void offsetUnset ( mixed $offset ) // unset($arr['$offset'])
}
获取数组的key的时候自动调用了offsetGet 方法