关于在 Laravel 中实现类 ThinkPHP 自动路由的可行性
hello everyone,本人 laravel 新手一枚,因为是 TP 用户转过来的,所以本能的想实现一个自动路由。
代码如下:
Route::any('/{controller}/{action}', function ($controller, $action) {
return App::make('App\Http\Controllers\\' . ucwords($controller) . 'Controller')->$action();
});
但是这个路由有一个问题,它只是单纯的构造了指定 controller 对象并执行指定的 method,这样一来,所以一些框架的特性就没办法使用了。于是我尝试使用如下代码实现自动路由:
Route::any('/{controller}/{action}', function ($controller, $action) {
$uses = $controller . 'Controller@' . $action;
Route::any($controller, ['uses' => $uses, 'as' => 'auto']);
return redirect()->route('auto');
});
但因为跳转之后,匿名函数的资源都被释放了,所以所有的请求都404了。
经过多次尝试均无果,想请教一下各位,这样的自动路由有没有实现的可行性?
推荐文章: