0

以下是我的保存配置文件:

<?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"

保存文件时如何删除双引号?例如:

[/lol]
user = JohnDoe
password = ddada
4

3 回答 3

1

添加

$config->setQuoteStrings(false);

在将其保存到文件之前

于 2013-10-22T10:50:11.327 回答
1

我将从咆哮开始:您总是最好按照预期/记录的方式使用 FLOSS 库,而不是尽可能地破解它们来做您想做的事情——即使代码是唯一可用的文档。例如,如果新版本的 Config_Lite 出现并且您升级到该版本,您将“丢失”您的修复程序。(而且,好像为了证明我的观点,今天在http://pear.php.net/package/Config_Lite/download/0.2.0发布了 0.2.0 版)

要更具体地回答您的问题,您需要先调用 setQuoteStrings 方法,然后再使用 write 方法将 .ini 文件输出显式保存到文件或执行任何将 $config 视为字符串值的操作

通常,我会按以下顺序做事:

  1. 首先创建 [config] 对象。
  2. 设置任何适用的选项(例如在这种情况下关闭带引号的字符串)
  3. 根据需要调用任何其他方法(例如,为部分设置值等)
  4. 使用结果对象(例如保存 .ini 文件)

tl;博士

$config = ....
$confg->setQuoteStrings(false);
$config->set(...);
echo $config;
$config->save();
于 2013-10-23T22:27:40.417 回答
0

为自己找到了解决方案。您需要在文件中更改protected $quoteStrings = true;为:)protected $quoteStrings = false;Lite.php

于 2013-10-22T10:54:02.410 回答