Данный компонент позволяет сжимать HTML-код на лету. При этом есть возможность не сжимать содержимое тегов script и code.
Самый удобный способ установки - это через composer. Надо выполнить в консоли в директории вашего приложения
php composer.phar require --prefer-dist zabachok/yii2-htmlcompressor "*"
или добавить
"zabachok/yii2-htmlcompressor": "*"
в раздел "require" вашего composer.json и выполнить composer update.
Вы можете выбрать один из удобных для вас способов.
В вашем файле конфигурации, в разделе `components`:
'view' => [
'class' => '\zabachok\htmlcompressor\View',
'compress' => YII_ENV_DEV ? false : true,
'compressCode' => false,
'compressScript' => false
],
В вашем файле конфигурации, в разделе `components`:
'response' => [
'on beforeSend' => function ($event)
{
/** @var $event yii\base\ViewEvent */
$response = $event->sender;
$compressor = new \zabachok\htmlcompressor\HtmlCompressor(false, false);
$response->data = $compressor->make($response->data);
},
],
Если у вас есть свой компонент View
, то вы можете сжимать код через поведение.
class View extends \yii\web\View
{
public function behaviors()
{
return [
[
'class' => HtmlCompressorBehavior::className(),
'compress' => true,
'compressScript' => true,
'compressCode' => true,
],
];
}
...
}
Если вы хотите использовать этот компонент отдельно от Yii2.
$compressor = new zabachok\htmlcompressor\HtmlCompressor();
$result = $compressor->make($html);