代码拉取完成,页面将自动刷新
#Agi Config Storage
该类库的设计目的主要为了解决不同底层环境和框架环境的项目,可以共享配置数据和信息。
一个项目中会有各种的配置数据,这些配置的数据,一般会呈现 2 层的 Map 的结构,举个例子:
$config = array(
// 数据库配置
'db' => array(
'default' => array(
'host' => '127.0.0.1',
// .. other settings
),
'db2' => array(
'host' => 'any-host',
// .. other settings
)
),
// 发送邮件的服务器配置
'mail' => array(
'default' => array(
'host' => 'smtp.gmail.com',
'port' => 465,
'username' => 'username',
'password' => 'password',
)
),
// memcached配置
'memcached' => array(
'default' => array(
'hosts' => array( '127.0.0.1:11211', '127.0.0.1:11212' ),
)
),
);
这种配置方式,有几个问题:
Agi Config Config 就是为了解决上述的几个问题。
##实际使用例子
use Agi\Config\Db;
use Agi\Config\Mail;
// 数据库配置
// 添加一个名为 mysql 配置
Db::define('mysql', array(
'adapter' => Db::MYSQL_PDO,
'host' => 'any-host',
));
// 添加多个配置
Db::defineMulti(array(
// 全局默认的配置
array(
'adapter' => Db::MYSQL_PDO,
'host' => 'any-host',
),
// 添加一个名为 pgsql 的数据库
'pgsql' => array(
'adapter' => Db::PGSQL_PDO,
'host' => 'any-host',
),
));
// 邮箱配置
// 第一个参数 $name 为空,表示为全局默认配置
Mail::define(null, array(
'host' => 'smtp.gmail.com',
'smtp' => Mail::USE_SSL,
'username' => 'any@gmail.com',
'password' => 'any-password',
));
// 取出默认的配置 default
$db = Db::get();
$pgsql = Db::get('pgsql');
// 输出配置的信息
var_dump($db->host, $db->port, $db->name);
var_dump($pgsql->isPdo, $pgsql->isNative);
// 如此种种……
// 等等……
var_dump(Mail::get()->host);
var_dump(Db::get('mysql')->username);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。