绵阳住房和城乡建设厅官方网站,wordpress 侧栏主题,免费搭建业务网站,厦门网站建设报价?php
/*** Class A*/
class A{}$obj new ReflectionClass(A);
var_export($obj.PHP_EOL); 类后面加上PHP_EOL会把当前类的详细接口文档打印出来。 ReflectionClass 可以利用这个动态创建类#xff0c;动态使用类方法参数。 try{
//如果存在控制器名字的类
if(class_exis…?php
/*** Class A*/
class A{}$obj new ReflectionClass(A);
var_export($obj.PHP_EOL); 类后面加上PHP_EOL会把当前类的详细接口文档打印出来。 ReflectionClass 可以利用这个动态创建类动态使用类方法参数。 try{
//如果存在控制器名字的类
if(class_exists($this-getController())) {
//利用反射api构造一个控制器类对应的反射类
$rc new ReflectionClass($this-getController());
//如果该类实现 了IController接口
if($rc-implementsInterface(IController)) {
//该类拥有解析后的action字符串所指向的方法名
if($rc-hasMethod($this-getAction())) {
//构造一个控制器类的实例
$controller $rc-newInstance();
//获取该类$action参数所指向的方法对象
$method $rc-getMethod($this-getAction());
//反射类方法对象的调用方式
$method-invoke($controller);
} else {
//以下为可能抛出异常
throw new Exception(Action);
}
} else {
throw new Exception(Interface);
}
} else {
throw new Exception(Controller);
}}catch(exception $e){echo $e;}Closure //闭包的意思。这个跟javascript的闭包有点类似。 function getClosure(){
return function(){};
}
var_dump(getClosure());//可以看到是一个 Closure Object 转载于:https://www.cnblogs.com/canbefree/p/5212531.html