Hi Simon,
Yeah, I realise that's possible but I need to be able to have two seperate
INI files for a couple of reasons. Primarily, it's a multi-developer/user
environment and we need to prevent the majority of developers/users being
able to access the master INI file but still be able to configure their own
site.
Thanks,
Steve
----- Original Message -----
From: "Simon Mundy" <[EMAIL PROTECTED]>
To: "Zend Framework" <fw-general@lists.zend.com>
Sent: Friday, December 22, 2006 12:22 PM
Subject: Re: [fw-general] Merging two Zend_Configs
Hi Steve,
You only need the one ini file for that. You can break up the ini file
into 'sections', with each section having the ability to inherit from
previous sections. For example:-
[all]
db.username = foo
db.password = bar
db.database = mydatabase
[development:all]
db.username = foodev
db.password = bardev
[local:development]
db.username = foolocal
When you need to load the config file, simply use the following (cut and
pasted from the manual):-
$config = new Zend_Config_Ini('/path/to/config.ini', 'development');
...where 'development' means that you'll end up by overriding the
password and username for the 'db' directives in your config file. If
you'd used 'local' then you'd get the 'foolocal' username, the 'bardev'
password and the 'mydatabase' database name.
Hope that helps
Hi,
I've been trying to figure out the best way to merge two Zend_Config
objects together.
What I want to be able to do is have one master INI file in my
application directory and then one INI file per application instance,
which will allow me to override settings in the master INI file. I took
a look around the documentation and the code for Zend_Config but wasn't
able to find an existing way to do this.
What I think I'll have to do is write a recursive iterator or a
combination of asArray() and a custom array_merge function but I wanted
to check here if I'm missing something and if there is an easier way to
accomplish this?
Thanks,
Steve
--
Simon Mundy | Director | PEPTOLAB
""" " "" """""" "" "" """"""" " "" """"" " """"" " """""" "" "
202/258 Flinders Lane | Melbourne | Victoria | Australia | 3000
Voice +61 (0) 3 9654 4324 | Mobile 0438 046 061 | Fax +61 (0) 3 9654 4124
http://www.peptolab.com