PHP 4.0 Bug #9250: Nested Functions are BAD, they make for inefficient debugging
| From: | dsifry at linuxcare dot com | Date: | Wed, 14 Feb 2001 09:10:46 +0000 |
| Subject: | PHP 4.0 Bug #9250: Nested Functions are BAD, they make for inefficient debugging | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-46536@lists.php.net to get a copy of this message | ||
From: dsifry@linuxcare.com
Operating system: Any
PHP version: 4.0.4pl1
PHP Bug Type: Feature/Change Request
Bug description: Nested Functions are BAD, they make for inefficient debugging
If you have a missing close-bracket "}" somewhere in your code, the PHP parser tells you
that the error is at the last line. If you have a multi-hundred or thousand line file, this makes
life a bitch.
Rasmus tells me that the reason for this behavior is because functions can be nested, which means
that:
function a
{
function b
{
}
}
is OK. This is a silly feature. Why do you have it, for scoping reasons? It means that you
can't effectively tell where syntax errors occur.
Suggestion: Either make nested functions turned off by default but you can turn them on with a PHP
global variable, like $PHP_BIZARRO_NESTED_FUNCTIONS = 1;
or
have the parser syntax set up so that it marks where a possible syntax error occurred (IOW it sees a
possible nested function, but it could also be a syntax error), and if it reaches the end of the
file with a missing "}" or two, that it displays the location where it parsed the nested
function.
--
Edit Bug report at: http://bugs.php.net/?id=9250&edit=1