1、要达到只获取自己声明的类的,只需耍反射访问每个类所获取的信息,以确定这个类是
否为用户自定义的类。代码清单如下。
只反射用户自定义的类
Class userClass{
Public function userMethod($userParameter=’default’){}
}
Foreach(get_declared_classes() as $class){
$reflectionClass = new ReflectionClass($class);
If($reflectionClass->isUserDefined()){
Reflection::exprot($reflectionClass);
}
}
2、元数据可以被进一步分为两个不同的类型。
硬的元数据是指由解析后的代码呈现的元数据。它包含了类名称、方法、参数等元数据。
软的元数据是所有人工包含的数据,如PHPDOC块,以及PHP中的特性等元数据。
硬的元数据是由PHP解析的,这确保了它的有效性,但是软的元数据可能由于人为因素而发生错误,并且他的结构不是由PHP语法解析过程所控制的。
/**
这是一个软的元数据,它的结构不是由PHP解析的
@see http://example.com
*/
Function mynameishardmetadata($myParamsToo){}
ReflectionClass类的isUserDefined()方法就是硬的元数据被用来执行不同的代码路径的一个例子。它被用来忽略任何不是用户自定义的类。