Skip to content

fmihel/php-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

php-config

Загрузчик конфигурационного файла для приложений на 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',
];

index.php

require_once __DIR__.'/vendor/autoload.php';
use fmihel\config\Config;

echo Config::get('pics');// out app/pics
echo Config::get('no-def','default');// out default
echo Config::get('no-def');  // raise Exception  

Использование шаблона конфигурации:

Использование шаблона конфигурации позволяет поддерживать структуру конфигурационного файла в актуальности. Если структура шаблона будет отличаться от конфигурации к 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

About

load config file for php app

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages