matt-harvey / auraxx
基于 Aura.Router 的 PHP MVC 应用程序路由器
v0.6.0
2024-09-27 23:35 UTC
Requires
- php: >=8.2.0
- aura/router: ^3.3
- psr/container: ^2.0
- psr/http-factory: ^1.1
- psr/http-server-middleware: ^1.0
Requires (Dev)
- nyholm/psr7: ^1.8
- nyholm/psr7-server: ^1.1
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^11.0
README
一个PSR友好的、基于Aura、MVC倾向的PHP路由器
动机
Auraxx 是 Aura.Router 库的扩展,提供了一些额外的功能,这些功能对于开发 MVC 风格的 Web 应用程序来说非常方便。
它毫不羞愧地站在了其他 5000 万个 PHP 路由器包之中。我发布它的主要目的是为了能够轻松地在自己的项目之间复用这段代码,而且我也没有特别的原因要将其保留为私有。
这是一个预-alpha 阶段、预-v1 软件包。该软件包非常不稳定,随时可能会发生破坏性更改。它使用 MIT 许可证,因此如果您想使用它,请随意,但请务必小心。
库概述
Auraxx\Router
类旨在由一个特定于应用程序的路由器类扩展,该类定义了实际的路由,然后与一个 Auraxx\Application
实例一起使用,以实际处理请求。
Auraxx\Router
为 Aura 路由容器添加了某些功能
- 允许通过覆盖
::getDefaultMiddlewares
来全局定义默认中间件,从而可以独立于每个路由的中间件适用性来配置中间件顺序 - 一个
::generateUri
方法,用于生成包含可选查询数据和片段的 PSRUriInterface
实例 - 一个“约定优于配置”机制,其中默认情况下,路由名称将确定在解析该路由(在中间件层遍历之后)时将被调用的控制器和方法。
- 根据匹配的方法参数名称和类型自动将字符串或整数路由参数注入到控制器方法中。
- 按路由/路由组配置中间件适用性的方法
- 按路由/路由组配置允许的认证角色的方法
详细用法
代码包含详细的文档注释块。例如,使用该库的示例代码,请参阅此存储库的 测试用例目录。
安装
composer require matt-harvey/auraxx
贡献
如果您觉得这个项目很有用,但想以某种方式改进或修复它,请随时提出问题或拉取请求。