いくつかのクラスが存在します:
class A{
protected $options;
public function setDefaults($defaults){
$this->options=$defaults;
}
public function getOptions(){
return $this->options;
}
}
そして他のクラス:
class B{
public function setDefaultOptions(A $options){
$options->setDefaults('foo'=>'bar')
}
}
用途:
$a=new A();
$b=new B();
$b->setDefaultsOptions(a);
$a->options['foo'] が設定されている B の仕様を確認するにはどうすればよいですか?
今、私はそれを次のように実装します:
public function getMatchers(){
return array('haveResolverKey'=>
function($subject, $key){
$resolver=new A();
$subject->setDefaultOptions($resolver);
$ret=$resolver->getOptions();
return isset($ret[$key]);
});
}
多分簡単な方法がありますか?