Masonite - 制作路线组时 "name" 和 "prefix" 有什么区别

Masonite - What is the difference between "name" and "prefix" when making route groups

我有这个代码片段,但我不确定 prefixname 之间在组参数中的区别是什么?

group([
    #Get().route('/', 'WelcomeController@show').name('welcome'),
    get('/', 'PostController@show').name('form'),
    post('/store', 'PostController@store').name('create')
], prefix='blog.', name="blog."])

前缀实际上是路由本身的前缀,name只是将名称添加到组内所有路由的名称前。

以此为例:

group([
  get('', 'PostController@show').name('form'),
  get('/create', 'PostController@create').name('create'),
], prefix='/blog', name="blog."])

此代码段的作用是创建两条路由以匹配 /blog/blog/create 的 URL,但还会将名称添加到路由前,例如 blog.formblog.create

可用于重定向的路由名称:

def show(self, request: Request):
    request.redirect_to('blog.create') #== /blog/create

或像这样生成网址:

<a href="{{ route('blog.create') }}">Link</a>

生成与上面相同的 URL。