框架之中类的执行方式

Posted xuweiqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了框架之中类的执行方式相关的知识,希望对你有一定的参考价值。

在yiparts的mvc框架之中:

获取类对象:

// 拼接获取控制器文件所在路径
 $classfile .= $ClassName..php;
@require_once ($classfile);
// 执行调用
$view = new $ClassName ();

反射获取需要执行的方法的参数,然后将方法的参数

/* 反射, 获取执行的function参数对应关系 */
$reflector = new ReflectionMethod ( $ClassName, $methodName );
$func_params = $reflector->getParameters ();
// example:picture/index => index($id,$zid)
// res:Array ( [0] => ReflectionParameter Object ( [name] => id ) [1] => ReflectionParameter Object ( [name] => zid ) )
// 调用反射去除在url传递的不需要的参数
foreach ( $func_params as $k => $v ) 
{
  $pv = self::$URL_PARAMS [$v->name];
  if ($pv != ‘‘) {
    $params [$k] = $pv;
  }
}

假定方法名 a($c){ }那么$params = array(‘name‘=>123);

回调执行:

// 回调执行action->method
call_user_func_array ( array ( $view,$methodName), $params );

完整小demo:

技术分享图片

 

以上是关于框架之中类的执行方式的主要内容,如果未能解决你的问题,请参考以下文章

86/88汇编代码的执行调试

以编程方式将片段添加到android中的框架布局

JAVA之中出现无法加载主类的情况解决方法

类的继承

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式