猜測(cè)是那個(gè)自動(dòng)解析路由的官方說(shuō)明有問(wèn)題,目前找不到具體原因,順帶再問(wèn)下,多層嵌套的控制器只能通過(guò)路由自動(dòng)解析實(shí)現(xiàn),那么怎么為不同的路由設(shè)定中間件呢 這個(gè)官方?jīng)]有說(shuō)明,是否跟正??刂破鞯哪欠N路由一樣的設(shè)置方法
beforeAction 這里測(cè)試沒(méi)有問(wèn)題。
路由自動(dòng)解析最終是通過(guò)代碼Route::any($uri, $cb);
來(lái)添加路由的,代碼是可根據(jù)自己需要編輯的,在調(diào)用Route::any($uri, $cb);
的地方根據(jù)自己需要調(diào)用Route::any($uri, $cb)->middleware();
方法即可
/**
@param Request $request
*/
public function beforeAction(Request $request) :void
{
//parent::beforeAction($request);
$this->model = 222222222;
$this->modelSceneValidate = false;
var_dump('beforeAction');
}
/**
beforeAction里把model定義成了22222..,然后index 里打印的model還是默認(rèn)值,這個(gè)經(jīng)測(cè)試,但應(yīng)用多應(yīng)用都正常,但是controller多冊(cè)目錄的時(shí)候就不正常了
在 route.php 中路由自動(dòng)解析里的 $class = new ReflectionClass($class_name); 的后面加一行 $class_name = $class->name;