blackhawkelectronics / lazy-middleware
中间件和请求处理器的懒加载
3.0.1
2022-02-28 21:20 UTC
Requires
- php: >=7.4
- psr/container: >=1.0.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- nyholm/psr7: ^1.4
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.4
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.6
README
从 Northwoods Lazy Middleware 分叉而来。感谢 Northwoods 为这个包做出贡献!
为支持 "即时" 实例化的 PSR-15 中间件和请求处理器 提供懒加载,使用 PSR-11 容器。
安装
安装和使用此包的最佳方式是使用 composer
composer require blackhawkelectronics/lazy-middleware
使用方法
此包包含两个工厂:一个用于请求处理器,一个用于中间件。
LazyHandlerFactory::defer($handler)
创建一个新的懒加载处理器。
$handler
标识符不必须是一个类名。任何指向容器标识符的字符串都可以使用。
use BlackhawkElectronics\Middleware\LazyHandlerFactory; /** @var ContainerInterface */ $container = /* any container */; $lazyHandler = new LazyHandlerFactory($container); /** @var \Psr\Http\Server\RequestHandlerInterface */ $handler = $lazyHandler->defer(Acme\FooHandler::class);
LazyMiddlewareFactory::defer($middleware)
创建一个新的懒加载中间件。
$middleware
标识符不必须是一个类名。任何指向容器标识符的字符串都可以使用。
use BlackhawkElectronics\Middleware\LazyMiddlewareFactory; /** @var ContainerInterface */ $container = /* any container */; $lazyMiddleware = new LazyMiddlewareFactory($container); /** @var \Psr\Http\Server\MiddlewareInterface */ $middleware = $lazyMiddleware->defer(Acme\BarMiddleware::class);