假如http://127.0.0.1:8787/api/Test/demo, demo方法在TestControler控制器中不存在. 我在中間件中入口處直接 return json([11]);但是頁面直接404, 如果我在TestControler加上demo方法,頁面直接輸出[11]; 我對這個請求流程不太理解,不應(yīng)該先走中間件,再到控制器中嗎? 請問不先走中間件,而直接判斷方法不存在的 代碼依據(jù)在哪,或者說是哪個流程直接404的
控制器或者方法不存在就404,404 不走任何中間件
我想了解 程序是怎樣知道方法不存在的,像tp就是先走中間件,然后判定方法存不存在;
框架里調(diào)用get_class_methods, method_exists或者類反射都能判斷方法是否存在
tp判斷方法是否存在,不在中間件,webman你配置了中間件后,也是可以先走中間件,然后到控制器,如果你想做到控制器或方法不在時返回自定義內(nèi)容,請從路由配置文件中去設(shè)置,手冊中有!
其實我想做的是,在中間件中根據(jù)請求來源,反射到不同的模塊內(nèi),例如:app\api\interfaces\demo.php,我想根據(jù)這個接口反射到app\api\service\demo.php中; 反射方法:\ReflectionMethod(),