-- Vincent <[EMAIL PROTECTED]> wrote
(on Tuesday, 15 April 2008, 06:22 PM +0200):
> On 4/15/08, Paul Simon <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I've been using Zend_Config_Ini successfully in a number of applications.
> I'm wondering if the following is the correct way to configure arrays? My
> concern is that I don't see it documented anywhere to add brackets to the
> end of keys, like plugin[]. I just happened on a comment at [http://
> us.php.net/manual/en/function.parse-ini-file.php#75983] saying it can be
> done. Does anybody else use 'key[]' to configure arrays? Thanks, Paul
>
> Set config.php
> ---------------
> [Production]
> ; plugins
> plugin[] = Init
> plugin[] = Authenticate
> plugin[] = Access
> plugin[] = Wrapper
>
> Get array
> ---------------
> $conf = new Zend_Config_Ini('config.php','Production');
> $plugins = $conf->plugin->toArray();
>
> Dump $plugins
> ---------------
> array (
> 0 => 'Init',
> 1 => 'Authenticate',
> 2 => 'Access',
> 3 => 'Wrapper',
> )
>
>
>
>
> I think you're supposed to do it like this:
>
> Set config.php
> ---------------
> [Production]
> ; plugins
> plugin.0 = Init
> plugin.1 = Authenticate
> plugin.2 = Access
> plugin.3 = Wrapper
No, you can't do this...
> Get array
> ---------------
> $conf = new Zend_Config_Ini('config.php',
> 'Production');
> // Now you can access them like:
> echo $conf->plugin->0; // Displays 'Init'
... because the above is invalid PHP. (Try it; you'll get an "unexpected
T_LNUMBER" parse error.)
I hadn't tried what the original poster suggested before, but I've
verified it works... and I'll be using it in the future.
BTW, the equivelent XML would be:
<?xml version="1.0"?>
<configdata>
<Production>
<plugin>Init</plugin>
<plugin>Authenticate</plugin>
<plugin>Access</plugin>
<plugin>Wrapper</plugin>
</Production>
</configdata>
> // Or you could convert it to an array which would return the array described
> $plugins = $conf->plugin->toArray();
>
> Dump $plugins
> ---------------
> array (
> 0 => 'Init',
> 1 => 'Authenticate',
> 2 => 'Access',
> 3 => 'Wrapper',
> )
--
Matthew Weier O'Phinney
Software Architect | [EMAIL PROTECTED]
Zend - The PHP Company | http://www.zend.com/