techsterx / slim-config-yaml
Requires
- slim/slim: 2.*
- symfony/yaml: ^2.4.3
This package is not auto-updated.
Last update: 2022-03-19 02:55:36 UTC
README
解析 YAML 文件并将它们添加到 Slim 的配置单例中。使用 Symfony 的 YAML 组件来解析文件(http://github.com/symfony/Yaml)。允许导入其他 YAML 文件并设置和使用参数。
入门
安装
Composer
在您的项目中安装 composer。
curl -s https://getcomposer.org/installer | php
在项目根目录中创建一个 composer.json
文件
{
"require": {
"techsterx/slim-config-yaml": "1.*"
}
}
通过 composer 安装
php composer.phar install
将此行添加到您的应用程序的 index.php
文件中
<?php require 'vendor/autoload.php';
手动安装
下载并将 src/ 目录解压到您的项目目录中,然后在应用程序的 index.php
文件中 require
它。
<?php require 'Slim\Slim.php'; require 'Yaml.php'; $app = new \Slim\Slim(); \BurningDiode\Slim\Config\Yaml::getInstance()->addFile('/path/to/some/file');
方法
Slim Config - YAML 使用静态方法来获取当前实例。如果不存在实例,将创建一个新的实例。使用 getInstance()
方法获取当前实例。
$slimYaml = \BurningDiode\Slim\Config\Yaml::getInstance();
_()
是 getInstance()
的简写等效。
$slimYaml = \BurningDiode\Slim\Config\Yaml::_();
要添加单个文件,请使用 addFile()
方法。
\BurningDiode\Slim\Config\Yaml::getInstance()->addFile('/path/to/some/file.yaml');
您还可以链接多个 addFile()
方法。
\BurningDiode\Slim\Config\Yaml::getInstance() ->addFile('/path/to/some/file.yaml') ->addFile('/path/to/another/file.yaml');
您可以导入整个 YAML 文件夹。
\BurningDiode\Slim\Config\Yaml::getInstance()->addDirectory('/path/to/directory');
您也可以使用 addDirectory()
方法进行链接。
\BurningDiode\Slim\Config\Yaml::getInstance() ->addDirectory('/path/to/directory') ->addFile('/path/to/some/file.yaml');
指定一些全局参数,以便由所有处理的 YAML 文件使用。
\BurningDiode\Slim\Config\Yaml::_() ->addParameters(array('app.root' => dirname(__FILE__))) ->addDirectory('/path/to/config/directory') ->addFile('/path/to/file/outside/of/config/directory.yml');
使用参数
您可以在 YAML 文件中指定将使用关键字替换的参数。参数仅适用于当前正在处理的资源。
config.yaml
parameters: key1: value1 key2: value2 application: keya: %key1% keyb: %key2%
app.php
\BurningDiode\Slim\Config\Yaml::_()->addFile('config.yml'); $config = $app->config('application'); print_r($config);
输出
Array
(
[key1] => value1
[key2] => value2
)
导入文件
您可以导入其他 YAML 文件,这对于将所有常用参数放在一个文件中并在其他文件中使用非常有用。
parameters.yml
parameters: db_host: localhost db_user: username db_pass: password db_dbase: database
database.yml
imports: - { resource: parameters.yml } database: hostname: %db_host% username: %db_user% password: %db_pass% database: %db_dbase%
app.php
\BurningDiode\Slim\Config\Yaml::_()->addFile('database.yml'); $db_config = $app->config('database'); print_r($db_config);
输出
Array
(
[hostname] => localhost
[username] => username
[password] => password
[database] => database
)
许可
Slim Config - YAML 根据 [MIT 公共许可](https://raw.githubusercontent.com/techsterx/slim-config-yaml/master/LICENSE)发布。