自定义“前缀”定界符

时间:2019-08-13 10:49:10

标签: php laravel routing laravel-routing

当我使用“前缀”从“ /”更改为“-”时,可以更改路由定界符吗?

所以这条路线看起来像:“ categories/test

Route::prefix('categories')->group(function (){
    Route::get('test');
});

我可以将其更改为带有前缀的“ categories-test

1 个答案:

答案 0 :(得分:1)

您可能无法使用前缀功能执行此操作,因为它has the slash hardcoded。但是Route是可宏的,因此您可以编写自己的。

Route::macro(‘dashPrefix’, function ($name) {
    $uri = rtrim($prefix, '/').'-'.ltrim($this->uri, '/'); // note the '-'
    $this->uri = trim($uri, '/');
    return $this;
});

您可以添加此代码的位置是 App \ Providers \ AppServiceProvider boot()。并像

一样使用它
Route::dashPrefix('categories')->group(function (){
    Route::get('test');
});