我希望能够用包中的路由覆盖 app/Http/routes.php 中定义的路由。
例如,在 app/Http/routes.php 我可能有这个:
Route::get('/search/{type?}',['as' => 'search','uses' => 'SearchController@search']);
我希望能够在 /vendor/author/package/src/Http/routes.php 中定义它:
Route::get('/search/properties', ['as' => 'properties','uses' => 'PropertyController@search']);
app/Http/routes.php 文件首先加载,因此使用其中的路由,而不是包。
在 Laravel 4 中,我会使用 App::before 或 App::after 来执行此操作,并给予它们优先级。
就像在包路线中一样:
App::before(function() {
Route::get('/search/properties', ['as' => 'properties','uses' => 'PropertyController@search']);
});
我不知道如何在 Laravel 5 中实现这一点。我找到了这个https://mattstauffer.co/blog/laravel-5.0-middleware-filter-style,但不知道如何用它来做我想要的.
编辑:Laravel 4 这样做的方式将允许为每个路由设置此优先级,所以我不只是在应用程序之前加载所有包路由。