loshmis/simple-config 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

loshmis/simple-config

最新稳定版本:v1.0.1

Composer 安装命令:

composer require loshmis/simple-config

包简介

Simple configuration loader

README 文档

README

Build Status

Simple Config provides a convenient and classy way to load multiple configuration files from your configuration directory and it is inspired by Laravel 5 configuration loading (it actually use illuminate/config package for providing access to config data). It is mainly created to provide simple and powerful configuration loading for Slim Framework, but it can be used with any PHP application.

Installation

You can install it via composer by typing the following command in your terminal

composer require loshmis/simple-config

or you can include it to your composer.json file

"require": {
    "loshmis/simple-config": "~1.0"
}

Usage with Slim

If you want to use it with Slim PHP Framework, you can do it like this (I'm placing it in my index.php file where I instantiate my Slim application, but you can place it anywhere you want, just make sure that you have provided correct configuration path)

//index.php

require 'vendor/autoload.php';

$app = new \Slim\Slim();

//path to your config directory
define('CONFIG_PATH', __DIR__ . '/config');

$app->container->singleton('config.loader', function($c) {
    return new \Loshmis\SimpleConfig\Loader (
        CONFIG_PATH,
        new Symfony\Component\Finder\Finder
    );
});

$app->container->singleton('config', function($c) {
    return new \Loshmis\SimpleConfig\Config($c['config.loader']);
});

And you can then manipulate with your configuration the same way you do in Laravel 5 (and 4) application.

Let's assume that you have file called app.php inside your config directory and inside that file you have the following PHP code:

<?php

return [
    'name' => 'Test'
];

Now, if you want to get the value for name from that configuration file, you can do it like this

//get data
$appName = $app->config->get('app.name');

//set data
$app->config->set('app.name', 'Simple Config')

// to check if configuration parameter is set
$app->config->has('app.name') //will return true in this case

You can find all available methods by visiting Laravel API Documentation.

If you are interested in using illuminate/config package from Laravel 4, there are some great blog posts about that topic.

Helper method for Slim

If you want, you can create an helper function so you can easily manipulate with configuration data.

You can define the function like this (function is taken from Laravel's source code and slightly modified to be used with Slim framework):

function config($key = null, $default = null)
{
    $app = \Slim\Slim::getInstance();
    
    if (is_null($key)) return $app->config;

    if (is_array($key)) {
        return $app->config->set($key);
    }

    return $app->config->get($key, $default);
}

Using the defined helper function, you can access to configuration data anywhere inside your application by simply calling

// to get some configuration data
$appName = config('app.name');

// to set some data
config(['app.name' => 'Simple Config'])

Usage without Slim PHP Framework

//path to your config directory
define('CONFIG_PATH', __DIR__ . '/config'); 

$loader = new \Loshmis\SimpleConfig\Loader (
    CONFIG_PATH,
    new Symfony\Component\Finder\Finder
);

$config = new \Loshmis\SimpleConfig\Config($loader);

After you instantiate Config class object, you can use it like this

//get data
$appName = $config->get('app.name');

//set data
$config->set('app.name', 'Simple Config')

//...

License

Simple Config is open-sourced software licensed under the MIT license.

统计信息

  • 总下载量: 19
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-03-31