-- 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/

Reply via email to