INI-файлы - это способ, которым я использую для хранения конфигурации в Zend Framework, посмотрите пример конфигурации:
http://www.framework.zend.com/manual/en/zend.config.adapters.ini.html
; Production site configuration data
[production]
webhost = www.example.com
database.adapter = pdo_mysql
database.params.host = db.example.com
database.params.username = dbuser
database.params.password = secret
database.params.dbname = dbname
; Staging site configuration data inherits from production and
; overrides values as necessary
[staging : production]
database.params.host = dev.example.com
database.params.username = devuser
database.params.password = devsecret
Чтение конфигурации:
$config = new Zend_Config_Ini('/path/to/config.ini', 'staging');
echo $config->database->params->host; // prints "dev.example.com"
echo $config->database->params->dbname; // prints "dbname"
Запись конфигурации:
// Load all sections from an existing config file, while skipping the extends.
$config = new Zend_Config_Ini('config.ini',
null,
array('skipExtends' => true,
'allowModifications' => true));
// Modify a value
$config->production->hostname = 'foobar';
// Write the config file
$writer = new Zend_Config_Writer_Ini(array('config' => $config,
'filename' => 'config.ini'));
$writer->write();
Каждый узел конфигурации можно преобразовать в массив, а также сложный массив можно использовать для создания экземпляра класса конфигурации и сохранения его в файл.
Этот тип конфигурации действительно удобен для чтения и редактирования.
Возможно, вам следует попытаться создать какое-то подобное решение.