3 回答

TA貢獻1799條經驗 獲得超8個贊
如果你愿意,你可以對路由參數施加約束locale
:
Route::pattern('locale', '^(?!(api|admin)$)(\w*)');
你可以把它放在boot
你的方法中RouteServiceProvider
,它現在將不允許locale
路由參數匹配'api'
or 'admin'
。

TA貢獻1846條經驗 獲得超7個贊
您可以在 RouteServiceProvider 中注冊單獨的路由。以下是如何做到這一點。
在 RouteServiceProvider.php 里面做:
public function map()
{
$this->mapFrontendRoutes();
$this->mapAdminRoutes();
}
mapFrontendRoutes() 的定義:
protected function mapFrontendRoutes()
{
Route::prefix('{locales?}')
->middleware('frontend')
->namespace($this->namespace.'\Frontend')
->group(base_path('routes/frontend.php'));
}
mapAdminRoutes() 的定義:
protected function mapAdminRoutes()
{
Route::prefix('admin')
->middleware('admin')
->namespace($this->namespace.'\Admin')
->group(base_path('routes/admin.php'));
}
我個人覺得這非常有用,有助于聲明無干擾和合乎邏輯的路線。開放反饋。

TA貢獻1802條經驗 獲得超6個贊
簡單的方法是將兩個 url 分組為單獨的組。例子如下:
Route::group(['prefix' => 'admin', 'as' => 'admin'], function () {
Route::post('/dashboard', 'AdminController@dashboard');
});
Route::group(['prefix' => 'home', 'as' => 'home'], function () {
Route::get('/record/{id}', 'HomeController@getRecord');
});
- 3 回答
- 0 關注
- 222 瀏覽
添加回答
舉報