2017 © Pedro Peláez
 

library config-search

image

infrajs/config-search

  • Friday, February 2, 2018
  • by akiyatkin
  • Repository
  • 1 Watchers
  • 0 Stars
  • 382 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 9 Versions
  • 0 % Grown

The README.md

Короткие адреса

Короткие адреса до папок расширений поддерживающих конфигурационные файлы .infra.json, (*1)

Поиск файла $src = Path::theme('-plugin/test.js') с коротким адресом "-" будет осуществляться в папках с .infra.json., (*2)

Например, если в папке vendor/name/plugin/ есть .infra.json и test.js, то путь -plugin/test.js приведён к файлу vendor/name/plugin/test.js, (*3)

Также в .infra.json в корне проекта можно использовать короткое имя расширения, без указания полного адреса vendor/name/plugin., (*4)

{
    "plugin":{
        "js":"test.js"      
    }
}

Файлы и папки всех установленных расширений с конфигурационным файлом .infra.json будут доступны по короткому адресу -plugin/folders/file.ext, где "-" скрывает часть адреса, варианты которого и подготавливает данное расширение., (*5)

Расширение расширяет функциональность infrajs/path. В массив Path::$conf['search'] добавляются адреса производителей поддерживающих конфигурацию через файлы .infra.json., (*6)

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

Расширение устанавливается автоматически как зависимость infrajs/router настроек не требуется., (*7)

При самостоятельном использовании

Для тех кто знает что делает..., (*8)

\infrajs\config\Search::init(); //Наполнит Path::$conf['search'] новыми путями

Описание

Путь для поиска файлов c - по умолчанию указан только один vendor/infrajs/ и его достаточно, чтобы собрать все нужные зависимости., (*9)

Определённые пути кэшируются, кэш привязан к дате изменения файла composer.lock, (*10)

Принцип работы - пробежаться по всем папкам проекта и все папки папок с файлами .infra.json добавить в config.path.search., (*11)

  • .infra.json - корень, уже итак обработан, игнорируется
  • dir/.infra.json - нет явного производителя, игнорируется, путь итак сработает -dir/file.ext
  • dir1/dir2/.infra.json - в search будет добавлен путь dir1/ и будет работать путь "-dir2/file.ext"
  • dir1/dir2/dir3/.infra.json - в search будет добавлен путь dir1/dir2/ и будет работать путь "-dir3/file.ext"

Найденные пути добавляются в конец config.path.search., (*12)

Есть папки которые содержат часто-подключаемые файлы, но не содержащие .infra.json - vendor/components/, - vendor/twbs/, - bower_components/ Можно указывать вручную в корне проекта .infra.json, (*13)

{
    "path":{
        "search":[
            "vendor/components/",
            "vendor/twbs/",
            "bower_components/"
        ]
    }
}

Отключить расширение

Без расширения config-search все пути нужно буедет перечислить вручную в корневом .infra.json. Отключить использование этого расширения если оно установлено можно параметром off в корневом .infra.json, (*14)

{
    "config-search":{
        "off":true
    }
}

The Versions