> -----Original Message-----
> From: Lars Torben Wilson [mailto:[EMAIL PROTECTED]]
> Sent: Friday, February 02, 2001 09:49
> To: Christopher Kings-Lynne
> Cc: Bug Database
> Subject: Re: [PHP-DEV] RE: PHP 4.0 Bug #9064 Updated: Functions inside
> functions cause errors if the outer function is called twice.
> 
> 
> 
> What does that buy you that this doesn't?
> 
> function test2() {
>    echo "hi";
> }
> 
> function test() {
>    test2();
> }
> 
> ...other than a new scoping rule?

Don't underestimate scoping, it means you can have multiple test2()'s [lest
call it "sort" - common to use different sort routines in different
circumstances]

a) stops namespace polution
b) keeps access private
while 
c) retaining modularisation.

Sam

> 
> 
> Christopher Kings-Lynne writes:
> > Shouldn't you at least be able to register the "nested 
> function" as 'static?
> > 
> > This causes syntax errors in 4.0.4pl1.
> > 
> > ie:
> > 
> > <?php
> > 
> > function test() {
> >     static function test2() {
> >             echo "hi";
> >     }
> > 
> >     test2();
> > }
> > 
> > test();
> > test();
> > test();
> > 
> > ?>
> > 
> > > -----Original Message-----
> > > From: Bug Database [mailto:[EMAIL PROTECTED]]
> > > Sent: Friday, February 02, 2001 5:14 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: PHP 4.0 Bug #9064 Updated: Functions inside 
> functions cause
> > > errors if the outer function is called twice.
> > >
> > >
> > > ID: 9064
> > > Updated by: hholzgra
> > > Reported By: [EMAIL PROTECTED]
> > > Old-Status: Open
> > > Status: Closed
> > > Bug Type: Scripting Engine problem
> > > Assigned To:
> > > Comments:
> > >
> > > php has no "nested function" feature like you'll find in PASCAL
> > > or in gcc if you enable the feature
> > >
> > > what happens here is that test2 is registered on execution of
> > > test in the global namespace, and when you call test a second time
> > > it cannot register test2 again
> > >
> > > (the engine shouldn't  accept nested functions at all i think)
> > >
> > > Previous Comments:
> > > ------------------------------------------------------------------
> > > ---------
> > >
> > > [2001-02-01 22:18:32] [EMAIL PROTECTED]
> > > This script fails with:
> > >
> > > <b>Fatal error</b>:  Cannot redeclare test2() in <b>-</b> on line
> > > <b>4</b><br>
> > >
> > > <?php
> > >
> > > function test() {
> > >   function test2() {
> > >           echo "hi";
> > >   }
> > >
> > >   test2();
> > > }
> > >
> > > test();
> > > test();
> > > test();
> > >
> > > ?>
> > >
> > > ------------------------------------------------------------------
> > > ---------
> > >
> > >
> > > Full Bug description available at: http://bugs.php.net/?id=9064
> > >
> > 
> > 
> > -- 
> > PHP Development Mailing List <http://www.php.net/>
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > To contact the list administrators, e-mail: 
> [EMAIL PROTECTED]
> > 
> 
> -- 
> +----------------------------------------------------------------+
> |Torben Wilson <[EMAIL PROTECTED]>                    Adcore Finland|
> |http://www.coastnet.com/~torben            http://www.adcore.com|
> |Ph: 1.604.709.0506                             [EMAIL PROTECTED]|
> +----------------------------------------------------------------+
> 
> -- 
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: 
> [EMAIL PROTECTED]
> 

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to