最近写facade 基类, 有个功能要从 container 里面取组件, facade 里面都是静态调用,但是container 里面都是动态调用,所以要么把container 里面都改成静态的(很麻烦),要么换其他解决方案
ArrayAccess
提供像访问数组一样访问对象的能力的接口。
ArrayAccess {
/* 检查一个偏移位置是否存在 */
abstract public boolean offsetExists ( mixed $offset );
/* 获取一个偏移位置的值 */
abstract public mixed offsetGet ( mixed $offset );
/* 设置一个偏移位置的值 */
abstract public void offsetSet ( mixed $offset , mixed $value );
/* 复位一个偏移位置的值 */
abstract public void offsetUnset ( mixed $offset );
}
为 container 添加 offsetGet()
/**
* ArrayAccess 接口
* @param [type] $key [description]
*/
public function offsetGet($key)
{
return $this->make($key);
}