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

Reply via email to