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
Инициализация класса
Добавление в коллекцию
Если третьим параметрам передать $group, то при выводе так же нужно его писать. Своего рода группировка
Дополнительные параметры
Можно передать ссылку на ресурс в качестве массива, где 1-й элемент массива — сам путь, а последующие элементы массива — это параметры
При сборке assets все собирается по порядку как пришли данные в коллекцию, так было раньше, и так стало сейчас по
умолчанию. Но можно выбрать способ вставки assets в коллекцию, изменив последний параметр
в \Enjoys\AssetsCollector\Assets::add
push
или unshift
.
Это удобно использовать например в шаблонах twig, где например в самом главном шаблоне подключаются общие стили, а потом в дочерних шаблонах подключаются конкретные стили, так вот при push, общие стили будут подключены ниже чем конкретные, при unshift - подключены будут сначала стили общие, потом конкретные, хотя twig все равно их будет обрабатывать в обратном порядке - от дочерних шаблонов до общих
push
- дефолтное значение вставляет данные в конецunshift
- вставляет данные в начало коллекции.
Вывод
При $environment->setStrategy(\Enjoys\AssetsCollector\Strategy\OneFileStrategy::class); происходит чтение всех файлов и запись в один файл. Вернет html строку для подключения стилей или скриптов
При $environment->setStrategy(\Enjoys\AssetsCollector\Strategy\ManyFilesStrategy::class); вернет стили или скрипты по отдельности, примерно так, удобно при разработке
ДЛЯ JS ВСЕ АНАЛОГИЧНО, ЗА ИСКЛЮЧЕНИЕМ HTML В ВЫВОДЕ
Twig Extension
Подключение расширения
Добавление в коллекцию в шаблоне.
Ниже показаны примеры, как можно подключить ресурсы в шаблоне.
Стоит обратить внимание, что не полные пути будут относительно текущей рабочей директории, или относительно директории проекта
С версии 2.2.1 поддерживаются пути twig
Необходимо при инициализации расширения передать загрузчик, который реализует \Twig\Loader\LoaderInterface
,
например \Twig\Loader\FilesystemLoader
Вывод в шаблоне
Настройки Minify
По умолчанию в качестве минификатора CSS и JS ничего не используется, то есть ничего не сжимается. Для настройки минификатора, в Environment используется метод Environment::setMinifier(AssetsType $type, Minify|\Closure|null $minifier)
Проще всего передать в класс анонимную функцию (\Closure(string): string), но также можно передать объект класса, реализовавший интерфейс \Enjoys\AssetsCollector\Minify::class для сложных случаев.
Список third-party минификаторов:
- CSS
- YUI-CSS-compressor-PHP-port tubalmartin/cssmin
- JS
- JShrink tedivm/jshrink
All versions of assets-collector with dependencies
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 ^1.0
enjoys/functions Version ^2.4