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