tp6 路由可选参数 设置默认值
时间: 2023-07-27 17:15:50 浏览: 112
在ThinkPHP 6中,可以给可选参数设置默认值。如果路由匹配时 URL 中没有提供该参数的值,则会使用默认值。可以使用 `=` 符号来设置默认值。例如:
```php
Route::get('user/:id/[:name]', 'index/user')->name('user')->default(['name' => 'Guest']);
```
这个路由定义中,我们使用 `default` 方法来给可选参数 `name` 设置默认值为 `'Guest'`。这样,如果请求的 URL 中只提供了 `id` 参数的值,而没有提供 `name` 参数的值,那么在控制器中获取 `name` 参数的值时,就会得到 `'Guest'`。注意,我们还使用 `name` 方法给这个路由定义命名,这样在生成 URL 时就可以使用路由的名称来生成 URL。例如:
```php
$url = url('user', ['id' => 123]); // 生成 /user/123/Guest
```
这里我们只提供了 `id` 参数的值,没有提供 `name` 参数的值,但是在生成的 URL 中,`name` 参数的值被设置为了默认值 `'Guest'`。
阅读全文