假如http://127.0.0.1:8787/api/Test/demo, demo方法在TestControler控制器中不存在. 我在中间件中入口处直接 return json([11]);但是页面直接404, 如果我在TestControler加上demo方法,页面直接输出[11]; 我对这个请求流程不太理解,不应该先走中间件,再到控制器中吗? 请问不先走中间件,而直接判断方法不存在的 代码依据在哪,或者说是哪个流程直接404的
控制器或者方法不存在就404,404 不走任何中间件
我想了解 程序是怎样知道方法不存在的,像tp就是先走中间件,然后判定方法存不存在;
框架里调用get_class_methods, method_exists或者类反射都能判断方法是否存在
tp判断方法是否存在,不在中间件,webman你配置了中间件后,也是可以先走中间件,然后到控制器,如果你想做到控制器或方法不在时返回自定义内容,请从路由配置文件中去设置,手册中有!
其实我想做的是,在中间件中根据请求来源,反射到不同的模块内,例如:app\api\interfaces\demo.php,我想根据这个接口反射到app\api\service\demo.php中; 反射方法:\ReflectionMethod(),
控制器或者方法不存在就404,404 不走任何中间件
我想了解 程序是怎样知道方法不存在的,像tp就是先走中间件,然后判定方法存不存在;
框架里调用get_class_methods, method_exists或者类反射都能判断方法是否存在
tp判断方法是否存在,不在中间件,webman你配置了中间件后,也是可以先走中间件,然后到控制器,如果你想做到控制器或方法不在时返回自定义内容,请从路由配置文件中去设置,手册中有!
其实我想做的是,在中间件中根据请求来源,反射到不同的模块内,例如:app\api\interfaces\demo.php,我想根据这个接口反射到app\api\service\demo.php中; 反射方法:\ReflectionMethod(),