【发布时间】:2016-09-30 06:17:57
【问题描述】:
我正在使用 laravel 5.2 和 sentinel 包 (rydurham/Sentinel)。
这个包自动设置了一些路由,即:
Route::get('login', ['as' => 'sentinel.login', 'uses' => 'SessionController@create']);
Route::get('logout', ['as' => 'sentinel.logout', 'uses' => 'SessionController@destroy']);
Route::get('sessions/create', ['as' => 'sentinel.session.create', 'uses' => 'SessionController@create']);
Route::post('sessions/store', ['as' => 'sentinel.session.store', 'uses' => 'SessionController@store']);
为了添加我的自定义逻辑,我创建了一个新的会话控制器,并尝试执行以下操作来覆盖路由:
Route::get('login', ['as' => 'sentinel.login', 'uses' => 'AuthController@create']);
Route::get('sessions/create', ['as' => 'sentinel.session.create', 'uses' => 'AuthController@create']);
Route::post('sessions/store', ['as' => 'sentinel.session.store', 'uses' => 'AuthController@store']);
问题 laravel 的路由似乎有利于包路由。我可以注释掉包中的路线,但这会使更新变得很痛苦。
如何在不修改包的情况下覆盖路由?
谢谢!
【问题讨论】:
-
浏览到 vendor 文件夹并检查是否有任何类似于 routes.php 的文件并删除您不需要的路由(假设这将工作,从未测试过)
-
这是我最初的方法,但在部署过程中此文件会被重置。