ID: 42639 Updated by: [EMAIL PROTECTED] Reported By: koraktor at web dot de -Status: Open +Status: Bogus Bug Type: Scripting Engine problem Operating System: Windows XP SP2 PHP Version: 5.2.4 New Comment:
Expected behaviour: http://www.php.net/include/ (example 16.8) Previous Comments: ------------------------------------------------------------------------ [2007-09-12 12:48:13] koraktor at web dot de Yes, I know that include is a language construct. But in fact, while writing a small example, I realized that there is another problem... While my original code complains about a missing class (which should have been included), this simple test code causes the following error: "Failed opening '' for inclusion". IMHO this hints that the parser neglects a strict syntax check for this construction. The closing bracket of the if-expression seems to "start" the include, while binary and (&&) does not. So this bug seems to be associated with #28845 - which is fixed. e.g. if((include("code_to_include.php")) && ...) works. But my syntax should either throw a syntax error (instead of an inclusion error) or it should be understood by the parser. ------------------------------------------------------------------------ [2007-09-12 11:07:04] [EMAIL PROTECTED] You do realize that include is a language construct and not a regular function? Please provide short but _complete_ example script which shows the problem clearly. ------------------------------------------------------------------------ [2007-09-12 08:44:02] koraktor at web dot de Description: ------------ Included code in an if-expression is only available in the if-branch not the if-expression itself. Reproduce code: --------------- if(file_exists("code_to_include.php") && include("code_to_include.php") && check_included_code()) { task(); } Expected result: ---------------- Included code from "code_to_include.php" should be accessible in check_included_code() and anything afterwards. Actual result: -------------- Included code from "code_to_include.php" is accessible in task(), but not in check_included_code(). ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=42639&edit=1