grizz-it / micro-router
1.0.0
2022-09-09 20:45 UTC
Requires
- php: >=8.1
- ext-json: *
- grizz-it/micro-service: ^1.0
- symfony/config: ^6.1
- symfony/http-foundation: ^6.1
- symfony/routing: ^6.1
- symfony/yaml: ^6.1
This package is not auto-updated.
Last update: 2024-09-22 04:17:40 UTC
README
适用于需要小体积的项目的一个极简路由器。
添加路由
要注册路由文件位置,请添加以下行
<?php use GrizzIt\MicroRouter\Http\Router; Router::loadRoutesFromFile('path/to/routes/directory'));
在此目录中创建一个 routes.yaml 文件并填充一些路由
home_route: path: /{id} methods: GET controller: my_controller::home
有关如何定义路由的更多信息,请参阅 Symfony 文档。
此包目前仅支持 YAML 定义。
参数,例如 {id},可以通过使用 get 方法在请求对象上访问。
<?php use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; function home(Request $request): Response { return json_response(['id' => $request->get('id')]); }
对于 controller 类的例外是,应使用控制器类,而不是控制器服务定义键。有关如何工作的详细信息,请参阅 grizz-it/micro-service。
运行路由器
要运行路由器,请使用以下片段
<?php use GrizzIt\MicroRouter\Http\Router; Router::run()->send();
创建响应
此包还包含一个辅助函数,可以快速生成 JSON 响应。可以通过以下片段使用它
json_response(['type' => 'home']);
第一个参数可以是任何形式的数据,它将被自动编码为 JSON。第二个参数是可选的响应代码(默认:200)。最后,第三个参数是可选的额外头信息(除了 Content-Type)。
MIT 许可证
版权所有 (c) GrizzIT
以下条件下,任何人获得此软件及其相关文档文件(以下简称“软件”)的副本,均可免费使用该软件,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许获得软件副本的个人这样做,前提是
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论该责任是因合同、侵权或其他方式引起的,与软件或其使用或其它方式有关。