php反射簡單使用
1.示例:Yii框架php反射類的使用
//創建$class類的反射類實例對象
$reflection = new ReflectionClass($class);
//獲取$class類的構造器對象
$constructor = $reflection->getConstructor();
if ($constructor !== null) {
//獲取構造方法參數列表$constructor->getParameters()
foreach ($constructor->getParameters() as $param) {
//構造參數是否有可利用默認值
if ($param->isDefaultValueAvailable()) {
$dependencies[] = $param->getDefaultValue();
} else {
//獲取參數的類名稱
$c = $param->getClass();
$dependencies[] = Instance::of($c === null ? null : $c->getName());
}
}
}
$reflection->isInstantiable();//對象是否可實例化
$reflection->newInstanceArgs($dependencies);//實例化反射對象
本文出自 “殘夢” 博客,謝絕轉載!
php反射簡單使用