Библиотека под 1C-Битрикс для оптимизации и сжатия картинок, стилей, скриптов прочей статики.
Позволяет сжимать и оптимизировать размер файлов картинок (png, jpg, gif, webp
), стилей (css
) и скриптов (js
).
При этом оригинальные файлы сохраняются рядом с измененным в виде file.png > file.png.original
для возможности восстановления.
composer require dumkaaa/bxoptimize
composer run-script post-install-cmd -d ./vendor/dumkaaa/bxoptimize
-
Запуск из PHP
$path = 'path/to/dir'; // пусть к папке для поиска файлов (обязательный) $finder = new \Dumkaaa\BxOptimize\Finder\FilesFinder($path); $handlers = [ //массив обработчиков (необязательный, по умолчанию - все) 'image', 'css', ]; $handler = new \Dumkaaa\BxOptimize\Handler\HandlerProcessor($handlers); $optimizer = new \Dumkaaa\BxOptimize\Optimizer($finder, $handler); $optimizer->optimize();
-
Запуск из консоли
php path/to/vendor/bin/bxoptimize bxoptimize:optimize path/to/dir [<image css js>]
Параметры:
path/to/dir
- пусть к папке для поиска файлов (обязательный)[<images css js>]
- массив обработчиков (необязательный, по умолчанию - все) -
Запуск из cli
-
В файл cli.php добавить строку:
$application->add(new \Dumkaaa\BxOptimize\Cli\SymfonyOptimize());
-
Запуск:
php cli.php bxoptimize:optimize path/to/dir [<image css js>]
-
Можно подключать свои обработчики или заменять стандартные. При этом класс обработчика должен наследоваться
от Dumkaaa\BxOptimize\Handler\Handler
или реализовывать интерфейс Dumkaaa\BxOptimize\Handler\HandlerInterface
.
Кастомные обработчики должны быть добавлены в массив обработчиков ($handlers)
перед запуском или вызовом метода addHandler($key, $classname, $replace = false)
класса Dumkaaa\BxOptimize\Handler\HandlerProcessor
$handler->addHandler('css', '\\My\\Custom\\Handler\\CssHandler');