Edit report at http://bugs.php.net/bug.php?id=53945&edit=1
ID: 53945 Updated by: johan...@php.net Reported by: knight_adi2000 at yahoo dot com Summary: Self descriptive -Status: Open +Status: Bogus Type: Bug Package: Compile Failure Operating System: Windows Vista ultimate PHP Version: Irrelevant Block user comment: N Private report: N New Comment: PHP does not require types to be declared at compile time. Code like this is absolutely valid: main.php: <?php for ($i = 0; $i < 10; ++$i) { include "$i.php"; if ($throw == 1) throw new Excepion('Exception thrown.<br>'); } an then in 5.php or so: <?php class Excepion extends Exception {} Or there's __autoload ... Previous Comments: ------------------------------------------------------------------------ [2011-02-07 10:16:32] knight_adi2000 at yahoo dot com Description: ------------ --- >From manual page: http://www.php.net/language.exceptions --- Notice the line if($throw_exception === 1) throw new Excepion('Exception thrown.<br>'); has Excepion NOT Exception word inside the code . This is not detected by the compiler when compiling the code , unless you set the value Int 1 as parameter, in order to make the function throw the error , and there is no class that i defined as Excepion , it can be replaced with any class not only Excepion (Not Exception) . Unless the function is made to throw an Exception, it does not detect that the actual object simply does NOT exist(in this case the object caled Excepion) . Be carefull with writing your code . Test script: --------------- <?php function test_compiler($throw_exception) { try { if($throw_exception === 1) throw new Excepion('Exception thrown.<br>'); } catch(Exception $exception) { echo "Error caught from test_compiler". $exception->getMessage(); } return 1; } echo test_compiler(2); ?> Expected result: ---------------- When i set the $throw_exception to other value than 1 integer type, the compiler should detect that the Excepion (NOT Exception ) object does NOT exist . Actual result: -------------- The compiler detects that the Excepion object DOES NOT exist ONLY IF the value is set to integer 1 , than and only than the compiler works right in this case . Please Php Staff take this into your atention . Thank you . ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53945&edit=1