Download the PHP package maximaster/twig.filewatcher without Composer
On this page you can find all versions of the php package maximaster/twig.filewatcher. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download maximaster/twig.filewatcher
More information about maximaster/twig.filewatcher
Files in maximaster/twig.filewatcher
Package twig.filewatcher
Short Description File watcher для преобразования Twig-шаблонов в HTML
License MIT
Informations about the package twig.filewatcher
maximaster/twig.filewatcher
Назначение
Генерация html-шаблонов из twig-шаблонов
Использование
Подключается через composer как maximaster/twig.filewatcher
После подключения в проект необходимо создать собственный скрипт для file watcher'а, который должен сконфигурировать решение.
Пример:
Скрипт можно запускать вручную, но удобно настроить File watcher в IDE. На примере JetBrains IDE (PhpStorm, Webstorm):
File → Settings → Tools → File Watchers → + → <custom>
File type: Twig
Program: <путь к php.exe>
Arguments: -f "$ProjectFileDir$<относительный путь от проекта к php-скрипту компиляции>"
Working directory: $ProjectFileDir$
Принцип работы
Находит twig-файлы, находящиеся непосредственно в директории исходников и для каждого генерирует html-шаблон, сохраняя его в директорию результатов.
В шаблоны передаются глобальные данные, которые можно задать в скрипте компиляции.
В шаблонах можно использовать собственные функции и фильтры, если добавлять расширения через метод addExtension
.
Значения по умолчанию
Директория результатов - рабочая директория (<?php getcwd()
)
Директория исходников - Директория результатов + /src
Глобальные данные - задаются врунчюу (setGlobals
или setGlobalsFromFile
) + ['compiler' => ['filename' => имя файла шаблона]
Расширение FilewatcherExtension
Позволяет воспользоваться функцией getMessage(code)
которая возвращает данные из глобального массива по адресу: messages[compiler.filename].code
или messages.default.code
Расширение WebpackExtension
Позволяет воспользоваться функциями showEntry
и getEntry
, которые позволяют подключить файлы точки входа сгенерированной webpack'ом и получить их в виде массива соответственно.