webman的流程怎样走的

ysian

问题描述

截图
假如http://127.0.0.1:8787/api/Test/demo, demo方法在TestControler控制器中不存在.
我在中间件中入口处直接 return json([11]);但是页面直接404,
如果我在TestControler加上demo方法,页面直接输出[11];
我对这个请求流程不太理解,不应该先走中间件,再到控制器中吗?
请问不先走中间件,而直接判断方法不存在的 代码依据在哪,或者说是哪个流程直接404的

939 1 0
1个回答

walkor

控制器或者方法不存在就404,404 不走任何中间件

  • ysian 2022-11-26

    我想了解 程序是怎样知道方法不存在的,像tp就是先走中间件,然后判定方法存不存在;

  • walkor 2022-11-27

    框架里调用get_class_methods, method_exists或者类反射都能判断方法是否存在

  • redsky 2022-12-22

    tp判断方法是否存在,不在中间件,webman你配置了中间件后,也是可以先走中间件,然后到控制器,如果你想做到控制器或方法不在时返回自定义内容,请从路由配置文件中去设置,手册中有!

  • ysian 2022-12-23

    其实我想做的是,在中间件中根据请求来源,反射到不同的模块内,例如:app\api\interfaces\demo.php,我想根据这个接口反射到app\api\service\demo.php中; 反射方法:\ReflectionMethod(),

年代过于久远,无法发表回答
🔝