|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-05-08 14:36 UTC] destes at ix dot netcom dot com
A common scripting oversight is to forget to properly close control structures bounded by curly braces such as if:
if ($var) {
$foo = 1;
$bar = 2;
/* forgot the } */
...
When parsing this, PHP reports that the error occurred on the last line of the script - however many lines there are. For scripts that run many thousands of lines, and contain hundreds of control structures, this means a huge amount of time spent going over the entire code looking for the bad structure.
It occurs to me that PHP should be able to determine where the START of the unended control structure is, and raise the parse error indicating that line (instead of the last line of the document). Adding this feature would greatly decrease debug times for people who occasionally make errors like these.
Thanks,
Steve
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 08:00:02 2025 UTC |
There is no way how PHP can detect it. Consider the following (bogus) script: if($foo) { ... if($bar) { ... } How can PHP know which brace is missing? It can be if($foo) { ... } if($bar) { ... } but it can also be if($foo) { ... if($bar) { ... } } If you have a good idea how to detect it, please let us hear.