首页 > 解决方案 > 自定义“前缀”分隔符

问题描述

当我使用“前缀”从“/”到“-”时,我可以更改路由分隔符吗

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

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

我可以把它改成categories-test带前缀的“”吗

标签: phplaravelroutinglaravel-routing

解决方案


您可能无法使用前缀函数执行此操作,因为它有斜线硬编码。但是 Route 是可宏的,因此您可以编写自己的。

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

您可以添加此代码的地方是boot()App \Providers\AppServiceProvider。并像使用它一样

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

推荐阅读