Download the PHP package 4slv/yaml-config without Composer
On this page you can find all versions of the php package 4slv/yaml-config. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download 4slv/yaml-config
More information about 4slv/yaml-config
Files in 4slv/yaml-config
Package yaml-config
Short Description config code generator from yaml config
License MIT
Informations about the package yaml-config
yaml_config
- Модуль позволяет сгенерировать ООП код конфига из yaml-файла.
Например, из yaml-файла:
- модуль сгенерирует php-код, который, будет позволять обращаться к значениям конфига в ООП-стиле:
Переменная $fatherName будет содержать
значение Bob
.
- Модуль позволяет создавать свойства с ограниченным сроком действия, например, в вышеуказанном yaml-файле обращение к свойству family.doter.age будет зависеть от переданной в конструктор даты:
Переменная $doterAgeList содержит
массив: [1,2,0]
- Создаваемый модулем php-код будет содержать phpDoc-комментарии, соответствующие комментариям в yaml-файле
Как использовать
Особенности функции generate: 1) Если изменений в исходном конфиге (по сравнению со сгенерированным кодом) нет, то перегенерация не происходит. 2) В качестве необязательного параметра generate принимает функцию, которая будет вызвана после генерации кода.
Интерфейсы
помощью модуля есть возможность генерации интерфейсов для классов конфигурации. 1) Иерархические интерфейсы.
По структуре yaml соответствуют yaml конфига. На пример yaml:
Создаст интерфейс на самом верхнем иерархическом уровне:
На следующем уровне по иерархии будут находится интерфейсы Father и Doter. На пример интерфейс Doter:
Код для генерации интерфейсов очень похож на код для генерации конфига. Будет выглядеть следующим образом:
2) Интерфейсы описанные списком. Пример структуры yaml:
Данный yaml будет создавать 2 интерфейса:
Код для генерации интерфейсов:
3) Подключение интерфейсов к объектам конфигурации:
Пример класса Father генерируемого этим кодом: