引数のタイプヒンティングで型を取得して、インジェクションする。
最初にInjectorの設定すればタイプヒンティング入れるだけなので、まぁ便利かも。
methodName = $methodName;
$this->objects = $objects;
}
function inject($injectee){
$refClass = new ReflectionClass($injectee);
if (!$refClass->hasMethod($this->methodName)){
return;
}
$method = $refClass->getMethod($this->methodName);
$params = $method->getParameters();
$args = array();
foreach ($params as $param){
$paramClass = $param->getClass();
$args[] = $this->getObject($paramClass->getName());
}
return $method->invokeArgs($injectee, $args);
}
}
?>