下面是我的保存配置文件:
<?php
require_once 'Config/Lite.php';
$config = new Config_Lite();
$config->read('/var/www/html/svnmanager/Config/testing');
$config->set('/lol', 'user', 'JohnDoe')
->set('/lol', 'password', 'lemo')
->set('db2', 'user', '');
// set with ArrayAccess
$config['general'] = array('lang' => 'fr');
echo $config;
$config->save();
?>
以下是输出:
debug = ""
[db]
user = "JohnDoe"
password = "d0g1tcVs$HgIn1"
[db2]
user = ""
password = "d0g1tcVs$HgIn1"
[general]
lang = "fr"
[/lol]
user = "JohnDoe"
password = "ddada"
保存文件时如何删除双 qoutes?例如:
[/lol]
user = JohnDoe
password = ddada
添加
$config->setQuoteStrings(false);
在将其保存到文件之前
我将从一个
咆哮开始:如果可能的话,你最好按照预期/记录使用FLOSS库,而不是破解它们来做你想做的事 - 即使代码是唯一可用的文档。例如,如果新版本的Config_Lite发布并且您升级到该版本,您将"丢失"修复程序。(而且,好像是为了证明我的观点,0.2.0 版本今天在 http://pear.php.net/package/Config_Lite/download/0.2.0 发布)
为了更具体地回答您的问题,您需要在使用 write 方法将.ini文件输出显式保存到文件或执行任何将$config视为字符串值的操作之前调用 setQuoteString 方法。
通常,我会按以下顺序执行操作:
- 首先创建 [config] 对象。
- 设置任何适用的选项(例如在这种情况下关闭带引号的字符串)
- 根据需要调用任何其他方法(例如,为部分设置值等)
- 使用结果对象(例如保存.ini文件)
博士:
$config = ....
$confg->setQuoteStrings(false);
$config->set(...);
echo $config;
$config->save();
为自己找到了一个解决方案。您需要在Lite.php
文件中将protected $quoteStrings = true;
更改为protected $quoteStrings = false;
:)