【发布时间】:2017-06-25 04:51:44
【问题描述】:
我有一个 Laravel Spark 应用程序,并且想在团队和项目的路由中使用前两个参数,但 about_us、设置、api 等例外。
我已经设置了我的路线,类似于:
Route::pattern('team', '[a-zA-Z0-9-]+');
Route::pattern('project', '[a-zA-Z0-9-]+');
Route::get('/home', 'HomeController@show');
Route::group(['prefix' => '{team}'], function () {
Route::get('/', 'TeamController@dashboard');
Route::group(['prefix' => '{project}'], function () {
Route::get('/', 'ProjectController@dashboard');
...
//Spark defines routes such as /settings after the apps routing file is processed;
//thus I cannot route to /settings as it's caught by /{team}.
我正在努力做两件事之一。或者,从 {team} 模式中排除“api”、“settings”等值;或者让 Laravel Spark 路由在我的 web 路由之前运行,这样我就可以确保在 /{team} 的全部捕获之前检查所有有效的路由。
任何想法都将不胜感激!
【问题讨论】:
-
先定义静态路由,然后把这个 catch all 组放在最后。这是一个完美的方法,因为路由顺序很重要。
-
嗨,克里斯,这将是我的正常做法,但是对于 Spark,Spark 定义的静态路由当然不在您的 web.php 路由文件中;他们在别的地方。
标签: laravel laravel-routing laravel-5.4 laravel-spark