你在做什么Framework::blah()->any_key['any_key_2'];是这样的:
静态调用该方法blah()的Framework类.方法调用必须返回一个对象,您可以从中以any_key某种方式获取属性.值any_key必须是一个数组或实现的东西ArrayAccess.
class Framework
{
public static function blah()
{
return new ArrayObject(
array('any_key' => array(
'any_key_2' => 'blablablah')
), ArrayObject::ARRAY_AS_PROPS);
}
}
Run Code Online (Sandbox Code Playgroud)
要么
class Framework {
public $any_key = array(
'any_key_2' => 'blahblahblah'
);
public static function blah()
{
return new self;
}
}
Run Code Online (Sandbox Code Playgroud)
要么
class Framework
{
public static function blah()
{
$class = new StdClass;
$class->any_key = new Foo;
return $class;
}
}
class Foo implements ArrayAccess
{
protected $any_key_2 = 'blahblahblah';
public function offsetGet ($offset){
return $this->$offset;
}
public function offsetSet ($offset, $value){}
public function offsetUnset ($offset){}
public function offsetExists ($offset){}
}
Run Code Online (Sandbox Code Playgroud)