akkun_choi pedia
mindiaakkun_choi pedia見出し語

タイプヒンティング・インジェクション

akkun_choi · 2008-11-05 更新

引数のタイプヒンティングで型を取得して、インジェクションする。

最初にInjectorの設定すればタイプヒンティング入れるだけなので、まぁ便利かも。

>|php|
<?php
class TypeHintingInjector{
private $objects;
private $methodName;
function __construct($methodName, $objects){
$this->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);
}
}
?>
||<

関連する見出し語