我尝试使用Zend \ Config \ Factory:
在php文件中为数组添加新值public function testFunc($testParam)
{
$testArray = $this->testFunc1($testParam);
if(!is_null($testArray[1])) {
foreach ($testArray[1] as $array) {
$this->testFunc($array);
}
}
$filename = getcwd() . '/data/config/config.php';
$configFile = \Zend\Config\Factory::fromFile($filename);
$configFile[] = $testArray[0];
if(!\Zend\Config\Factory::toFile($filename, $configFile)) {
throw new Exception\RuntimeException("Can't put content to $filename.");
}
return true;
}
问题是$filename
文件只保存第一个函数调用的值而不是递归。
[UPDATE]
我调试\Zend\Config\Factory::fromFile
并发现我是否要加载php文件,函数加载文件:
........
$config = include $filepath;
在递归\Zend\Config\Factory::toFile
更新我的php文件(我检查config.php
文件)然后在第一个函数调用\Zend\Config\Factory::fromFile
再次获取php文件而不进行更改并覆盖config.php
。因此,仅记录config.php
中第一个函数调用的值。