middlewares / minifier
中间件用于压缩 Html、CSS 和 JavaScript 响应
v2.0.3
2024-01-12 17:49 UTC
Requires
- php: ^7.2 || ^8.0
- middlewares/utils: ^3.0 || ^4.0
- psr/http-server-middleware: ^1.0
- wyrihaximus/html-compress: ^3.0 || ^4.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- laminas/laminas-diactoros: ^2.3 || ^3.0
- oscarotero/php-cs-fixer-config: ^1.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^8|^9
- squizlabs/php_codesniffer: ^3.0
README
使用 wyrihaximus/compress 和以下默认压缩器压缩 Html
、CSS
和 Javascript
内容的中间件
需求
- PHP >= 7.2
- PSR-7 http 库
- PSR-15 中间件分发器
安装
此包可以通过 Composer 以 middlewares/minifier 的方式安装和自动加载。
composer require middlewares/minifier
示例
Dispatcher::run([ Middlewares\Minifier::html(), Middlewares\Minifier::css(), Middlewares\Minifier::js(), ]);
用法
此中间件使用实现 WyriHaximus\Compress\CompressorInterface
的任何压缩器压缩 http 响应的代码。代码格式从 Content-Type
头部检测,因此请确保您的响应包含此头部(您可能想使用 middlewares/negotiation 来完成此操作)。
use WyriHaximus\HtmlCompress\Factory; $compressor = Factory::construct(); $mimeType = 'text/html'; $minifier = new Middlewares\Minifier($compressor, $mimeType);
可选地,您可以将 Psr\Http\Message\StreamFactoryInterface
作为第三个参数提供,以创建响应体。如果未定义,则 Middleware\Utils\Factory 将自动检测。
$streamFactory = new MyOwnStreamFactory(); $minifier = new Middlewares\Minifier($compressor, $mimeType, $streamFactory);
辅助函数
提供了三个静态函数,用于使用针对 html、css 和 js 响应的常见配置创建此中间件的实例
$htmlMinifier = Middlewares\Minifier::html(); $cssMinifier = Middlewares\Minifier::css(); $jsMinifier = Middlewares\Minifier::js();
有关最近更改的更多信息,请参阅 CHANGELOG,有关贡献细节的更多信息,请参阅 CONTRIBUTING。
MIT 许可证(MIT)。有关更多信息,请参阅 LICENSE。