Download the PHP package enjoys/assets-collector without Composer
On this page you can find all versions of the php package enjoys/assets-collector. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package assets-collector
Assets Collector
Установка
Использование
Настройка окружения
Настройки CSS Minify
Настройки JS Minify
Инициализация класса
Добавление в коллекцию
Если третьим параметрам передать namespace, то при выводе так же нужно его писать. Своего рода группировка
Дополнительные параметры
Можно передать ссылку на ресурс в качестве массива, где 1-й элемент массива — сам путь, а последующие элементы массива — это параметры
При сборке assets все собирается по порядку как пришли данные в коллекцию, так было раньше, и так стало сейчас по
умолчанию. Но можно выбрать способ вставки assets в коллекцию, изменив последний параметр
в \Enjoys\AssetsCollector\Assets::add
push
или unshift
.
Это удобно использовать например в шаблонах twig, где например в самом главном шаблоне подключаются общие стили, а потом в дочерних шаблонах подключаются конкретные стили, так вот при push, общие стили будут подключены ниже чем конкретные, при unshift - подключены будут сначала стили общие, потом конкретные, хотя twig все равно их будет обрабатывать в обратном порядке - от дочерних шаблонов до общих
push
- дефолтное значение вставляет данные в конецunshift
- вставляет данные в начало коллекции.
Вывод
При $environment->setStrategy(Assets::STRATEGY_ONE_FILE); происходит чтение всех файлов и запись в один файл. Вернет html строку для подключения стилей или скриптов
При $environment->setStrategy(Assets::STRATEGY_MANY_FILES); вернет стили или скрипты по отдельности, примерно так, удобно при разработке
ДЛЯ JS ВСЕ АНАЛОГИЧНО, ЗА ИСКЛЮЧЕНИЕМ HTML В ВЫВОДЕ
Twig Extension
Подключение расширения
Добавление в коллекцию в шаблоне.
Ниже показаны примеры, как можно подключить ресурсы в шаблоне.
Стоит обратить внимание, что не полные пути будут относительно текущей рабочей директории, или относительно директории проекта
С версии 2.2.1 поддерживаются пути twig
Необходимо при инициализации расширения передать загрузчик, который реализует \Twig\Loader\LoaderInterface
,
например \Twig\Loader\FilesystemLoader
Вывод в шаблоне
Настройки CSS Minify
По умолчанию в качестве минификатора используется NullMinify::class, то есть ничего не сжимается. Для установки минификатора, в Environment используется метод Environment::setMinifyCSS(MinifyInterface $minifyImpl)
Базовая реализация CSS Minify реализована с помощью библиотеки tubalmartin\CssMin Подробное описание параметров: https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port#api
Легко можно реализовать минификацию с помощью других библиотек, реализовав интерфейс \Enjoys\AssetsCollector\Content\Minify\MinifyInterface::class
Настройки JS Minify
По умолчанию в качестве минификатора используется NullMinify::class, то есть ничего не сжимается. Для установки минификатора, в Environment используется метод Environment::setMinifyJS(MinifyInterface $minifyImpl)
Базовая реализация CSS Minify реализована с помощью библиотеки JShrink Подробнее про JShrink
Легко можно реализовать минификацию с помощью других библиотек, реализовав интерфейс \Enjoys\AssetsCollector\Content\Minify\MinifyInterface::class
All versions of assets-collector with dependencies
symfony/polyfill-php80 Version ^1.0
tubalmartin/cssmin Version ^4.1
tedivm/jshrink Version ^1.6.2 | ~1.5.0
psr/log Version ^1.0 | ^2.0 | ^3.0
psr/http-client Version ^1.0
psr/http-factory Version ^1.0
enjoys/url-converter Version *
enjoys/functions Version ^2.3