#47581 [NEW]: Calling __construct from an extended SoapClient class via variable broken

From: Date: Thu, 05 Mar 2009 22:33:44 +0000
Subject: #47581 [NEW]: Calling __construct from an extended SoapClient class via variable broken
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-134450@lists.php.net to get a copy of this message
From: starson dot hochschild at mtginfo dot com Operating system: Linux RedHat Enterprise V4 PHP version: 5.2.9 PHP Bug Type: SOAP related Bug description: Calling __construct from an extended SoapClient class via variable broken Description: ------------ I just upgraded from 5.1.6 to 5.2.9. Calling __construct from an extended SoapClient class via variable used to work but this is no longer the case. Somehow it gets picked up by __call now. Calling __construct from an extended SoapClient class explicitly still works. Calling SoapClient from an extended SoapClient class via variable still works. I did not include an example for this, though. This is definitely not a show-stopper but it would be nice to have consistency. I haven't noticed this with any other classes, but then again using a variable to call __construct isn't exactly common. Reproduce code: --------------- <?php class SoapClientExplicit extends SoapClient { public function misSoap($wsdl, $options = array()) { parent::__construct($wsdl, $options); } } class SoapClientVariable extends SoapClient { public function misSoap($wsdl, $options = array()) { $function = __FUNCTION__; parent::$function($wsdl, $options); } } echo __LINE__."\n"; $sce = new SoapClientExplicit('http://example.com/ns/func?wsdl'); echo __LINE__."\n"; $scv = new SoapClientVariable('http://example.com/ns/func?wsdl'); echo __LINE__."\n"; ?> Expected result: ---------------- 13 15 17 Actual result: -------------- 13 15 Fatal error: Uncaught SoapFault exception: [Client] Error finding "uri" property in /path/to/script.php:10 Stack trace: #0 [internal function]: SoapClient->__call('__construct', Array) #1 /path/to/script.php(10): SoapClient->__construct('http://example...', Array) #2 /path/to/script.php(16): SoapClientVariable->__construct('http://example...', Array) #3 {main} thrown in /path/to/script.php on line 10 -- Edit bug report at http://bugs.php.net/?id=47581&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=47581&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=47581&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=47581&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=47581&r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=47581&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=47581&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=47581&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=47581&r=needscript Try newer version: http://bugs.php.net/fix.php?id=47581&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=47581&r=support Expected behavior: http://bugs.php.net/fix.php?id=47581&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=47581&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=47581&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=47581&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=47581&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=47581&r=dst IIS Stability: http://bugs.php.net/fix.php?id=47581&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=47581&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=47581&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=47581&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=47581&r=mysqlcfg

« previous php.bugs (#134450) next »