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 关注
- 184 浏览
添加回答
举报