2017 © Pedro Peláez
 

library config

image

infrajs/config

  • Friday, April 6, 2018
  • by akiyatkin
  • Repository
  • 1 Watchers
  • 0 Stars
  • 915 Installations
  • PHP
  • 25 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 25 Versions
  • 1 % Grown

The README.md

Система конфигурирования .infra.json

Disclaimer: Module is not complete and not ready for use yet., (*1)

Для автоматической поддержки сторонних вендоров, кроме infrajs нужно использовать расширение infrajs/config-search, (*2)

Установка через composer

{
    "reqiure":{
        "infrajs/config":"~1"
    }
}

Использование

В папке расширения в vendor или в подпапке проекта или в корне проекта создаётся файл .infra.json в который выносятся параметры, (*3)

{
    "name":"Лёха"
}

В php затем обращаемся к этим параметрам., (*4)

use infrajs\config\Config;

$conf = Config::get('имя расширения');
echo $conf['name']; //Лёха

Имя расширения совпадает с имененм папки или с ключём в корневом конфиге, (*5)

Специальные свойства в .infra.json

{
    "dependencies":"event",
    "require":"script.php",
    "pub":"propname",
    "conf":"infrajs\\access\\Access",
    "off": false,       
    "js": "path/to/js",     
    "tester":"test.php",    
    "testerjs":"test.js"    
}

Порядок выполнения dependencies

dependencies:'module' - указывает модуль, который должен быть загружен "до". Для php не требуется так как зависимости подключатся при обращении к калссу через autoload. Используется если доступ к модулю осуществляется в js в первом потоке выполнения. Во вложенных вызовах всё в любом случае будет доступно и указывать dependencies не требуется. Секция конфига dependencies будет располагаться до секции конфига указавшего эту зависимость модуля. При всех пробежках сначало будет обработка dependencies и только потом модуля указавшего эту зависимость., (*6)

Параметр off

По умолчанию false. true запрещает require и js, (*7)

Параметр js

Путь до javascript файлов. Свойство обрабатывается infrajs/collect, (*8)

Параметр tester и testerjs

Свойство обрабатывается infrajs/tester, (*9)

Подмена и расширение парарметров дефолтного конфига расширения

Переменная Config::$sys предназначена при записи в неё значений, которые должны подменять оригинальные значения из конфига какого-то расширения. Используется с infrajs/update. Config::$sys - массив с конфигами расширений или двухмерный массив с конкретными параметрами, которые в дальнейшем автоматически сохраняются в !cache/.infra.json и инициализируются при каждом запросе к серверу. Пример использования в расшиении akiyatkin/catalog-range., (*10)

The Versions