fmihel / php-config
php config loader
Installs: 1 590
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires (Dev)
- fmihel/console-log: *
- phpunit/phpunit: 8.5.23
README
v1.0.0
Загрузчик конфигурационного файла для приложений на php.
Конфигурационный файл - файл содержащий настройки для конкретного места развертывания приложения.
К примеру данные для подключения к базе. Данный файл ни в коем случае нельзя сохранять в git или подобное.
Установка
composer require fmihel/php-config
Использование
Простейшая структура
app
|--config.php
|--index.php
config.php
<$php $config=[ 'pics'=>'app/pics/', 'base'=>'db', 'pass'=>'xxxx', 'user'=>'mike', 'emails'=>[ 'admin'=>'xxx@xxx.xx', ] ];
index.php
require_once __DIR__.'/vendor/autoload.php'; use fmihel\config\Config; echo Config::get('pics');// app/pics echo Config::get('no-def','default');// default echo Config::get('no-def'); // raise Exception echo Config::get('emails',['admin'=>'bbb@bbb.bb']); // ['admin'=>'xxx@xxx.xx'] echo Config::get('emails',['info'=>'aaa@aaa.aa']); // ['admin'=>'xxx@xxx.xx','info'=>'aaa@aaa.aa']
Использование шаблона конфигурации:
Использование шаблона конфигурации позволяет поддерживать структуру конфигурационного файла в актуальности. Если структура шаблона будет отличаться от конфигурации к config приложение будет остановлено и выданы соотвествующие предупреждения. Шаблон конфигурации можно и нужно хранить в репозиториях и деплоить с приложением.
app
|--config.php
|--config.template.php
|--index.php
config.php
<$php $config=[ 'pics'=>'app/pics/', 'base'=>'db', 'pass'=>'xxxx', 'user'=>'mike', ];
config.template.php
<$php $configTemplate=[ 'pics'=>'string', 'base'=>'string', 'pass'=>'string', 'user'=>'string', 'age'=>'number', 'local'=>'bool' ];
index.php
require_once __DIR__.'/vendor/autoload.php'; use fmihel\config\Config; // после этой строчке // приложение будет остановлено !!! // так как структура config отличается от config.template
English version
Config file loader for php application;
Install
composer require fmihel/php-config