Edit report at http://bugs.php.net/bug.php?id=41810&edit=1
ID: 41810 Comment by: sneak at datavibe dot net Reported by: d dot albano at gmail dot com Summary: Unable to catch Parse Errors Status: Bogus Type: Feature/Change Request Package: Feature/Change Request Operating System: Linux PHP Version: 5.2.3 New Comment: This classification is not bogus at all. Consider the following: == main.php == <?php $filename = sprintf("%s.php", 'myfile' ); include_once($filename); ?> == myfile.php == <?php syntax errors here !...@#$%^&*()_ ?> The parsing of myfile.php must necessarily happen at main.php's RUNTIME, because the filename is not available until sprintf() is called. This is a bug. Previous Comments: ------------------------------------------------------------------------ [2007-07-03 16:36:51] tony2...@php.net Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php ------------------------------------------------------------------------ [2007-07-03 16:29:58] d dot albano at gmail dot com Looking to the code looks simply to do the modification, naturally, as you said, the problem is testing. However i founded an eval behaviour to support my feature request: if there is a parse error execution continues Can be that this is a bug or an unwanted behaviour, however nothing start to work strange after that a parse error was outputted. So, if all works with eval why it shouldn't work correctly with normal parse errors? Here there is some example code: <?php echo "BEGIN"; eval('echo "{$SYNTAX-ERROR"'); echo "END"; ?> It output BEGIN Parse error: syntax error, unexpected '-', expecting '}' in C:\web\htdocs\test.php(5) : eval()'d code on line 1 END ------------------------------------------------------------------------ [2007-06-26 13:07:22] d dot albano at gmail dot com When i said: > If it remains in a unstable state there is serious problem somewhere i answered to your phrase: > After parse error the parser/compiler and whole engine may be in unstable state If parsing a file may put the entire engine in an unstable state there is a problem: never heard that a parser can do this The problem can be that the engine is written to shutdown after a parser error and this is can cause troubles i think, but the problem is that i'm not zend/php developer :) However i don't think that is necessary to rewrite the engine from the scracth, a feature like this, at logic level, must follow rules followed by other errors This afternoon i'll take a look to the parser and to the zend engine to understand how errors are passed Thanks a lot Bye ------------------------------------------------------------------------ [2007-06-26 12:43:06] tony2...@php.net >If it remains in a unstable state there is serious problem somewhere :\ I don't think so, but you're encouraged to help us, the sources are open after all. I'm sure nobody is going to rewrite the engine from scratch using some other tools just because you want to catch parse errors. So there is no sense to keep this feature request open. ------------------------------------------------------------------------ [2007-06-26 12:34:37] d dot albano at gmail dot com if parser, before to compile and execute, check the code to see if the syntax is right how can remain the engine in an unstable state? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/bug.php?id=41810 -- Edit this bug report at http://bugs.php.net/bug.php?id=41810&edit=1