techsterx/slim-config-yaml

此包已被放弃,不再维护。未建议替代包。

v1.0.6 2015-04-13 21:40 UTC

This package is not auto-updated.

Last update: 2022-03-19 02:55:36 UTC


README

Build Status StyleCI Total Downloads Latest Stable Version License

解析 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)发布。