猜測是那個自動解析路由的官方說明有問題,目前找不到具體原因,順帶再問下,多層嵌套的控制器只能通過路由自動解析實現(xiàn),那么怎么為不同的路由設(shè)定中間件呢 這個官方?jīng)]有說明,是否跟正??刂破鞯哪欠N路由一樣的設(shè)置方法
beforeAction 這里測試沒有問題。
路由自動解析最終是通過代碼Route::any($uri, $cb);
來添加路由的,代碼是可根據(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還是默認值,這個經(jīng)測試,但應(yīng)用多應(yīng)用都正常,但是controller多冊目錄的時候就不正常了
在 route.php 中路由自動解析里的 $class = new ReflectionClass($class_name); 的后面加一行 $class_name = $class->name;