发生异常
Uncaught Exception: \admin\action\uAction::p 参数 $u 没有传值 in E:\www\doctor\v1.0\mvc\mvc.php:719
[]Uncaught Exception: \admin\action\uAction::p 参数 $u 没有传值 in E:\www\doctor\v1.0\mvc\mvc.php:719
Stack trace:
#0 E:\www\doctor\web\admin\index.php(45): mvc::execute()
#1 {main}
thrown
E:\www\doctor\v1.0\mvc\mvc.php (719)
700 /* 反射, 配对参数对应关系,及处理默认值 */
701 $reflector = new \ReflectionMethod($action,self::$method);
702 $reflectorParameters = $reflector->getParameters();
703 if (self::$reqUriValues){
704 foreach ($reflectorParameters as $k => $v){
705 if (array_key_exists($k,self::$reqUriValues)){
706 self::$req[$v->name] = self::$reqUriValues[$k];
707 }
708 }
709 }
710 /*配对参数对应关系,及处理默认值 $paramsWithKey 用于 _CallBefore _CallEnd 调用*/
711 foreach ($reflectorParameters as $k => $v){
712 if (array_key_exists($v->name, self::$req)){
713 $params[$k] = self::$req[$v->name];
714 $paramsWithKey[$v->name] = $params[$k];
715 }elseif($v->isDefaultValueAvailable()){
716 $params[$k] = $v->getDefaultValue();
717 $paramsWithKey[$v->name] = $params[$k];
718 }else {
719 throw new \Exception (self::$class . '::'. self::$method . ' ' . lg('参数') .' $'.$v->name . ' ' .lg('没有传值') );
720 }
721 }
722 /* 非DEBUG模式下,先清空输出缓冲区 */
723 if (!DEBUG) ob_clean();
724 //ob_start();
725 /* 执行Action前置 _callBegin方法 如果存在, 命令行下无效*/
726 if (!MVC_SAPI_IS_CLI && method_exists (self::$class , '_CallBefore')) {
727 call_user_func_array ( array ( $action , '_CallBefore' ), [self::$method,$paramsWithKey] );
728 }
729
730 /*异步调用处理 在命令行模式下*/
731 if (MVC_SAPI_IS_CLI && isset (self::$req['___isAsyn'])){
732 if (self::$req['___timeout']!='')
733 set_time_limit(self::$req['___timeout']);
734 //这是一个异步调用,设置即使客户端退出,进程依然运行
735 ignore_user_abort(true);
736 if (self::$req['___isStore']){
737 $php_errormsg=null;
738 error_reporting(E_ALL& ~E_NOTICE);
739 $storePath = self::$cfg['dir']['cache'].'/asynEvent';
740 $storeFile = $storePath.'/'.md5(self::$_SERVER_PATH_INFO);