ReflectionFunction
ReflectionFunction 类报告了一个函数的有关信息。
可以获取函数的相关信息、如参数…
<?php
//ReflectionFunction
$age = 10;
$name = 'xst';
$function = function($age,$test = 5)use($name){
};
try {
$reflect = new ReflectionFunction($function);
} catch (ReflectionException $e) {
echo $e->getMessage();
}
var_dump($reflect->getParameters()); //获取 function 的参数
ReflectionClass 类反射
ReflectionClass 类报告了一个类的有关信息。
可以获类的相关信息、如属性、获取命名空间的名称、父类…
可用于实现 依赖注入
class TestParent {
}
class Test extends TestParent{
private string $home = '贵州';
private string $name = 'xst';
public int $age = 22;
public int $salary;
public function findWork(){
}
}
$reflect = new ReflectionClass('Test');
var_dump($reflect->getStaticPropertyValue('home')); //获取静态属性 home,需为public否则会报错
echo '-------------------------------------';
var_dump($reflect->getParentClass()); //获取父类
echo '-------------------------------------';
var_dump($reflect->getProperties()); //获取所有的属性