创建
你可以使用 Slim\App 实例上的代理方法来定义应用程序路由。Slim Framework 提供了最常用的 HTTP 方法的方法。
GET 路由
你可以使用 Slim 应用程序的 get() 方法添加一个仅处理 GET HTTP 请求的路由。它接受两个参数:
- 路由模式(可选带有命名占位符)
- 路由回调函数
$app->get('/books/{id}', function ($request, $response, array $args) {
// 根据 $args['id'] 显示书籍
});
POST 路由
你可以使用 Slim 应用程序的 post() 方法添加一个仅处理 POST HTTP 请求的路由。它接受两个参数:
- 路由模式(可选带有命名占位符)
- 路由回调函数
$app->post('/books', function ($request, $response, array $args) {
// 创建新的书籍
});
PUT 路由
你可以使用 Slim 应用程序的 put() 方法添加一个仅处理 PUT HTTP 请求的路由。它接受两个参数:
- 路由模式(可选带有命名占位符)
- 路由回调函数
$app->put('/books/{id}', function ($request, $response, array $args) {
// 更新 $args['id'] 所代表的书籍
});
DELETE 路由
你可以使用 Slim 应用程序的 delete() 方法添加一个仅处理 DELETE HTTP 请求的路由。它接受两个参数:
- 路由模式(可选带有命名占位符)
- 路由回调函数
$app->delete('/books/{id}', function ($request, $response, array $args) {
// 删除 $args['id'] 所代表的书籍
});
OPTIONS 路由
你可以使用 Slim 应用程序的 options() 方法添加一个仅处理 OPTIONS HTTP 请求的路由。它接受两个参数:
- 路由模式(可选带有命名占位符)
- 路由回调函数
$app->options('/books/{id}', function ($request, $response, array $args) {
// 返回响应头部
});
PATCH 路由
你可以使用 Slim 应用程序的 patch() 方法添加一个仅处理 PATCH HTTP 请求的路由。它接受两个参数:
- 路由模式(可选带有命名占位符)
- 路由回调函数
$app->patch('/books/{id}', function ($request, $response, array $args) {
// 对 $args['id'] 所代表的书籍进行更改
});
Any 路由
你可以使用 Slim 应用程序的 any() 方法添加一个处理所有 HTTP 请求方法的路由。它接受两个参数:
- 路由模式(可选带有命名占位符)
- 路由回调函数
$app->any('/books/[{id}]', function ($request, $response, array $args) {
// 对书籍或根据指定的 $args['id'] 进行更改。
// 要检查使用了哪种方法:$request->getMethod();
});
注意,第二个参数是一个回调函数。你可以指定一个实现了 __invoke() 方法的类而不是一个闭包函数。然后你可以在其他地方进行映射:
$app->any('/user', 'MyRestfulController');
自定义路由
你可以使用 Slim 应用程序的 map() 方法添加一个处理多个 HTTP 请求方法的路由。它接受三个参数:
- HTTP 方法数组
- 路由模式(可选带有命名占位符)
- 路由回调函数
$app->map(['GET', 'POST'], '/books', function ($request, $response, array $args) {
// 创建新的书籍或列出所有的书籍
});