vslim 路由指南
vslim 路由指南
vslim 提供了非常直观的路由定义方式,支持多种 HTTP 方法、路由分组以及中间件。
基础路由
你可以直接在 VSlimApp 实例上定义路由:
$app = new VSlimApp();
$app->get('/hello', function($req, $res) {
return $res->withBody("Hello World");
});
$app->post('/users', function($req, $res) {
// 处理 POST 请求
});
支持的方法包括:get, post, put, patch, delete, options, head, any。
命名路由
通过 get_named 等方法可以为路由命名,方便后续引用:
$app->get_named('user_profile', '/user/{id}', $handler);
路由分组
使用 group 方法可以对具有相同前缀的路由进行分组:
$app->group('/api/v1')
->get('/users', $listUsersHandler)
->get('/posts', $listPostsHandler);
分组也支持嵌套。
资源路由
vslim 提供了类似于 Laravel 的资源路由快捷入口:
// 注册完整的资源路由 (index, create, store, show, edit, update, destroy)
$app->resource('/photos', PhotoController::class);
// 注册 API 资源路由 (排除 create 和 edit)
$app->api_resource('/api/photos', PhotoController::class);
WebSocket 路由
vslim 原生支持 WebSocket 路由(由 vhttpd 支撑):
$app->websocket('/ws/chat', ChatHandler::class);
中间件
中间件可以在全局、分组或特定路由上注册:
// 全局中间件
$app->middleware($authMiddleware);
// 分组中间件
$app->group('/admin')
->middleware($adminAuthMiddleware)
->get('/dashboard', $handler);