【发布时间】:2017-11-27 04:05:18
【问题描述】:
我在 Laravel 5.4 中创建了一个用于设置基本后台的包。这个包包含几个使用包内控制器的路由。我想要做的是在我的应用程序中覆盖包定义的路由,以便插入自定义控制器。例如,如果我有一条路线
Route::get('login', [
'as' => 'admin.login',
'uses' => 'Auth\LoginController@showLoginForm'
]);
在我的包中定义将使用Vendor\Package\Controllers\Auth\LoginController 我想为我的应用程序定义一个路由,该路由将覆盖该路由并使用App\Controllers\Auth\LoginController。
在应用程序路由文件中定义路由的明显方法失败了,因为应用程序路由文件在包路由文件之前运行,因此以包定义为准。
有什么方法可以完成这种事情吗?
我还尝试在RouteServiceProvider 中获取特定路由并使用方法uses 来设置应该用来解决它的控制器,像这样
public function boot()
{
parent::boot();
Route::get('admin.login')->uses('App\Http\Controllers\Admin\Auth\LoginController@showLoginForm');
}
但这也无法完成假装的事情。
关于我做错了什么的任何线索?
【问题讨论】:
标签: php laravel laravel-5.4 laravel-routing