ID:               47581
 User updated by:  starson dot hochschild at mtginfo dot com
 Reported By:      starson dot hochschild at mtginfo dot com
 Status:           Open
 Bug Type:         SOAP related
 Operating System: Linux RedHat Enterprise V4
 PHP Version:      5.2.9
 New Comment:

public function misSoap
should be
public function __construct


Previous Comments:
------------------------------------------------------------------------

[2009-03-05 22:33:44] starson dot hochschild at mtginfo dot com

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 this bug report at http://bugs.php.net/?id=47581&edit=1

Reply via email to