grizz-it/micro-router

1.0.0 2022-09-09 20:45 UTC

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

以下条件下,任何人获得此软件及其相关文档文件(以下简称“软件”)的副本,均可免费使用该软件,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许获得软件副本的个人这样做,前提是

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论该责任是因合同、侵权或其他方式引起的,与软件或其使用或其它方式有关。