loshmis / simple-config
简单的配置加载器
Requires
- illuminate/config: 5.*
- symfony/finder: ~2.6
Requires (Dev)
- phpunit/phpunit: ~4.5
This package is auto-updated.
Last update: 2024-09-06 22:44:04 UTC
README
Simple Config提供了一种方便且优雅的方式,可以从您的配置目录中加载多个配置文件,并且它受到了Laravel 5配置加载(实际上使用illuminate/config包来提供对配置数据的访问)的启发。它主要是为了为Slim Framework提供简单而强大的配置加载,但它可以与任何PHP应用程序一起使用。
安装
您可以通过在终端中键入以下命令来使用composer安装它
composer require loshmis/simple-config
或者,您可以将它包含到您的composer.json文件中
"require": { "loshmis/simple-config": "~1.0" }
与Slim一起使用
如果您想与Slim PHP Framework一起使用它,可以这样做(我在我的index.php文件中放置它,我在那里实例化我的Slim应用程序,但您可以将其放置在任何您想要的位置,只需确保您已经提供了正确的配置路径)
//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']); });
然后,您可以像在Laravel 5(和4)应用程序中一样处理您的配置。
假设您在配置目录中有一个名为app.php的文件,在该文件中,您有以下的PHP代码
<?php return [ 'name' => 'Test' ];
现在,如果您想从该配置文件中获取name的值,您可以这样做
//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
您可以通过访问Laravel API 文档来找到所有可用的方法。
如果您对使用Laravel 4中的illuminate/config包感兴趣,有一些关于这个主题的优秀的博客文章。
Slim的辅助方法
如果您想,您可以创建一个辅助函数,以便您可以轻松地处理配置数据。
您可以像这样定义函数(函数来自Laravel的源代码,并进行了一些修改以用于Slim框架)
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); }
使用定义的辅助函数,您可以通过简单地调用
// to get some configuration data $appName = config('app.name'); // to set some data config(['app.name' => 'Simple Config'])
无需Slim PHP框架的使用
//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);
在实例化Config类对象后,您可以像这样使用它
//get data $appName = $config->get('app.name'); //set data $config->set('app.name', 'Simple Config') //...
许可证
Simple Config是开源软件,受MIT许可证许可。