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]