fmihel/php-config

php配置加载器

v1.0.0 2024-07-24 07:15 UTC

This package is auto-updated.

Last update: 2024-09-24 07:44:01 UTC


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']

使用配置模板

使用配置模板可以保持配置文件结构的最新状态。如果模板结构与配置文件不同,应用程序将停止,并显示相应的警告。配置模板可以且应该存储在仓库中,并与应用程序一起部署。

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

英文版本

为PHP应用程序提供配置文件加载器;

安装

composer require fmihel/php-config