dlundgren / slim-turbo
SlimTurbo 是 Slim 的一个插件,用于实现完全的路由缓存
Requires
- middlewares/utils: ^2.2 | ^3.0
- psr/simple-cache: ^1.0
- slim/slim: ^4.4
Requires (Dev)
- cache/filesystem-adapter: ^1.0
- cache/simple-cache-bridge: ^1.0
- guzzlehttp/psr7: ^1.5
- http-interop/http-factory-guzzle: ^1.0
- laminas/laminas-diactoros: ^2.1
- nyholm/psr7: ^1.1
- nyholm/psr7-server: ^0.3.0
- php-di/php-di: ^6.0
- phpspec/prophecy: ^1.8
- phpstan/phpstan: ^0.11.5
- phpunit/phpunit: ^7.5
- slim/http: ^1.2
- slim/psr7: ^1.3
- squizlabs/php_codesniffer: ^3.4.2
- syberisle/coding-standards: ^2.0
- symfony/dependency-injection: ^4.3
README
Slim Turbo 是 Slim 框架的一个扩展,允许您在编译后的依赖注入容器中直接缓存路由名称和路由。
建议在不编译依赖注入容器的情况下使用Slim而不使用此包。
安装
建议使用Composer来安装 Slim Turbo。
$ composer require dlundgren/slim-turbo
这将安装 Slim Turbo 和所有必需的依赖项。与 Slim 一样,Slim Turbo 需要 PHP 7.1。
用法
创建一个扩展 Slim\Turbo\Provider\RouteProvider 的类并实现 register()
方法。路由的定义与使用 Slim\App
类似,建议在添加中间件和路由调用时使用类名、服务名或字符串。这些将在需要时从容器中加载。
注意 在 SlimTurbo 中可以使用闭包,但建议仅在开发时使用。在生产中使用闭包的行为是未定义的(从 SlimTurbo 的角度来看)。
域名路由
通过使用 Router::domain($domain, $callable)
可以实现基于域名的路由。这与 Router::group($pattern, $callable)
的工作方式类似。
在设置时,您可以向 DomainResolver
提供一些选项。
仅使用子域名
这目前实现了一个非常基本的点 .
的计数,并丢弃最后一个点附近的部分。
示例
api.example.com > api
api.service.example.com > api.service
缓存路由信息
为了缓存生成的路由信息,您必须在您的 DI 容器中设置一个 routing.cache
键,并将其设置为 SimpleCache 实现。
服务提供者初始化
Slim Turbo 为以下依赖注入容器提供了服务提供者:
贡献
请参阅CONTRIBUTING 以获取详细信息。
安全
如果您发现与安全相关的问题,请通过电子邮件dlundgren@syberisle.net联系,而不是使用问题跟踪器。
许可证
Slim Turbo 在 MIT 许可证下发布。有关更多信息,请参阅许可证文件。