У меня есть INI-файл для каждого клиента в моей системе, и я добавляю новый раздел и ключ, который будет создан "на лету".
Мне нужно подумать так:
Текущий INIfile:
[section_a]
key_a=1
key_b-2
И нужно изменить этот (с php / zend) код на:
[section_a]
key_a =1
key_b = 2
[section_b]
key_a = 1
Нужно добавить новый раздел с именем section_b с новым ключом с именемkey_a, но я не нахожу mthod в Zend_Ini_Config, например "$ ini-> add ('section_b', 'key_a')".
Obs:
Php "magic" like $ini->$new_prop->$new_prop = "1" , dont work to!
Любая помощь!!
Обновление
<?php
class SystemConfigHelper
{
public static $data;
public static function load()
{
if(!defined("ACCOUNT_ID"))
return true;
try
{
$url = explode('.', $_SERVER['HTTP_HOST']);
self::$data = new Zend_Config_Ini(ACCOUNTS_PATH . "/" . ACCOUNT_ID . "/system-config.ini",null,array("allowModifications" => true));
return true;
}
catch(Exception $e)
{
die($e->getMessage());
return false;
}
}
public static function save()
{
try
{
$url = explode('.', $_SERVER['HTTP_HOST']);
$writer = new Zend_Config_Writer_Ini(array('config' => self::$data,
'filename' => ACCOUNTS_PATH . "/" . ACCOUNT_ID . "/system-config.ini"));
$writer->write();
}
catch(Exception $e)
{
die($e->getMessage());
return false;
}
}
public static function getParam($section,$key)
{
return self::$data->$section->$key;
}
public static function sync($data)
{
//self::$data = $data;
//return;
foreach(self::$data as $section => $param)
{
foreach($param as $key => $value)
{
self::$data->$section->$key = $data[$section][$key];
}
}
}
public static function getParamAs($section,$key,$as)
{
return self::$data->$section->$key==1?$as:"";
}
}
?>