From:             [EMAIL PROTECTED]
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



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