fmihel/php-config

php config loader

v0.1.3 2024-04-08 06:49 UTC

This package is auto-updated.

Last update: 2024-05-08 07:21:35 UTC


README

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