ID: 29716 Updated by: [EMAIL PROTECTED] Reported By: alan at akbkhome dot com -Status: Open +Status: Assigned Bug Type: Zend Engine 2 problem Operating System: all PHP Version: 5.0.1 -Assigned To: +Assigned To: helly New Comment:
Marcus breaks it, marcus should fix it :) Also, can you please add a test case for this? thanks Previous Comments: ------------------------------------------------------------------------ [2004-08-17 06:21:19] [EMAIL PROTECTED] Relivant change http://cvs.php.net/diff.php/ZendEngine2/zend_compile.c?ws=0&r1=1.567&r2=1.567.2.1&ty=u I suggest testing for > 1, rather than != 2 on call, as that's the only one who's API changed in PHP4->5 ------------------------------------------------------------------------ [2004-08-17 06:01:38] alan at akbkhome dot com Description: ------------ something changed in 5.0.1 that breaks conditional class definitions. hence breaking code that worked ok on php4 & php5.0.0 Reproduce code: --------------- <?php if (true) { // this is the correct definition. (used for php5) class Overloaded { function __call($method,$args) { } } } else { // this is used for php4 class Overloaded { function __call($method,$args,&$return) { } } } ?> Expected result: ---------------- nothing Actual result: -------------- Content-type: text/html X-Powered-By: PHP/5.0.1 <br /> <b>Fatal error</b>: Method DB_DataObject_Overload::__call() must take exactly 2 arguments in <b>/usr/src/php/php-5.0.1/test1.php</b> on line <b>16</b><br /> a ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=29716&edit=1