diff --git a/NEWS b/NEWS index a1b82253404f0..7e83b05d5a2d5 100644 --- a/NEWS +++ b/NEWS @@ -9,7 +9,7 @@ PHP NEWS (Paul Hudson, Derick) - Implemented periodic PCRE compiled regexp cache cleanup, to avoid memory exhaustion. (Andrei) -- Renamed SoapClient->__call() to SoapClinet->__soap_call(). (Dmitry) +- Renamed SoapClient->__call() to SoapClinet->__soapCall(). (Dmitry) - Fixed bug with raw_post_data not getting set (Brian) - Fixed a file-descriptor leak with phpinfo() and other 'special' URLs (Zeev) - Fixed bug #29985 (unserialize()/ __PHP_Incomplete_class does not report diff --git a/ext/soap/interop/client_round2_interop.php b/ext/soap/interop/client_round2_interop.php index d8246a45d1980..588ee92888918 100644 --- a/ext/soap/interop/client_round2_interop.php +++ b/ext/soap/interop/client_round2_interop.php @@ -94,7 +94,7 @@ function _fetchEndpoints(&$soapclient, $test) { $this->_getEndpoints($test, 1); // retreive endpoints from the endpoint server - $endpointArray = $soapclient->__soap_call("GetEndpointInfo",array("groupName"=>$test),array('soapaction'=>"http://soapinterop.org/",'uri'=>"http://soapinterop.org/")); + $endpointArray = $soapclient->__soapCall("GetEndpointInfo",array("groupName"=>$test),array('soapaction'=>"http://soapinterop.org/",'uri'=>"http://soapinterop.org/")); if (is_soap_fault($endpointArray) || PEAR::isError($endpointArray)) { if ($this->html) print "
"; print $soapclient->wire."\n"; @@ -428,9 +428,9 @@ function doEndpointMethod(&$endpoint_info, &$soap_test) { $return = eval('return $soap->'.$soap_test->method_name.'('.$args.');'); } else { if ($soap_test->headers || $soap_test->headers_expect) { - $return = $soap->__soap_call($soap_test->method_name,$soap_test->method_params,array('soapaction'=>$soapaction,'uri'=>$namespace), $soap_test->headers, $result_headers); + $return = $soap->__soapCall($soap_test->method_name,$soap_test->method_params,array('soapaction'=>$soapaction,'uri'=>$namespace), $soap_test->headers, $result_headers); } else { - $return = $soap->__soap_call($soap_test->method_name,$soap_test->method_params,array('soapaction'=>$soapaction,'uri'=>$namespace)); + $return = $soap->__soapCall($soap_test->method_name,$soap_test->method_params,array('soapaction'=>$soapaction,'uri'=>$namespace)); } } } catch (SoapFault $ex) { diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 521c103ecd471..af8be97f93c99 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -251,6 +251,12 @@ PHP_METHOD(SoapParam, SoapParam); /* SoapHeader Functions */ PHP_METHOD(SoapHeader, SoapHeader); +#ifdef ZEND_ENGINE_2 +#define SOAP_CTOR(class_name, func_name, arginfo, flags) ZEND_FENTRY(__construct, ZEND_FN(class_name##_##func_name), arginfo, flags) +#else +#define SOAP_CTOR(class_name, func_name, arginfo, flags) PHP_ME(class_name, func_name, arginfo, flags) +#endif + static zend_function_entry soap_functions[] = { #ifdef HAVE_PHP_DOMXML PHP_FE(soap_encode_to_xml, NULL) @@ -262,7 +268,7 @@ static zend_function_entry soap_functions[] = { }; static zend_function_entry soap_fault_functions[] = { - PHP_ME(SoapFault, SoapFault, NULL, 0) + SOAP_CTOR(SoapFault, SoapFault, NULL, 0) #ifdef ZEND_ENGINE_2 PHP_ME(SoapFault, __toString, NULL, 0) #endif @@ -270,7 +276,7 @@ static zend_function_entry soap_fault_functions[] = { }; static zend_function_entry soap_server_functions[] = { - PHP_ME(SoapServer, SoapServer, NULL, 0) + SOAP_CTOR(SoapServer, SoapServer, NULL, 0) PHP_ME(SoapServer, setPersistence, NULL, 0) PHP_ME(SoapServer, setClass, NULL, 0) PHP_ME(SoapServer, addFunction, NULL, 0) @@ -301,12 +307,12 @@ unsigned char __soap_call_args[] = { 5, BYREF_NONE, BYREF_NONE, BYREF_NONE, BYRE #endif static zend_function_entry soap_client_functions[] = { - PHP_ME(SoapClient, SoapClient, NULL, 0) + SOAP_CTOR(SoapClient, SoapClient, NULL, 0) PHP_ME(SoapClient, __call, __call_args, 0) #ifdef ZEND_ENGINE_2 - ZEND_FENTRY(__soap_call, ZEND_FN(SoapClient___call), __soap_call_args, 0) + ZEND_FENTRY(__soapCall, ZEND_FN(SoapClient___call), __soap_call_args, 0) #else - ZEND_NAMED_FE(__soap_call, ZEND_FN(SoapClient___call), __soap_call_args) + ZEND_NAMED_FE(__soapCall, ZEND_FN(SoapClient___call), __soap_call_args) #endif PHP_ME(SoapClient, __getLastRequest, NULL, 0) PHP_ME(SoapClient, __getLastResponse, NULL, 0) @@ -319,17 +325,17 @@ static zend_function_entry soap_client_functions[] = { }; static zend_function_entry soap_var_functions[] = { - PHP_ME(SoapVar, SoapVar, NULL, 0) + SOAP_CTOR(SoapVar, SoapVar, NULL, 0) {NULL, NULL, NULL} }; static zend_function_entry soap_param_functions[] = { - PHP_ME(SoapParam, SoapParam, NULL, 0) + SOAP_CTOR(SoapParam, SoapParam, NULL, 0) {NULL, NULL, NULL} }; static zend_function_entry soap_header_functions[] = { - PHP_ME(SoapHeader, SoapHeader, NULL, 0) + SOAP_CTOR(SoapHeader, SoapHeader, NULL, 0) {NULL, NULL, NULL} }; diff --git a/ext/soap/tests/bugs/bug28969.phpt b/ext/soap/tests/bugs/bug28969.phpt index af2fb10290bda..6634888eac180 100644 --- a/ext/soap/tests/bugs/bug28969.phpt +++ b/ext/soap/tests/bugs/bug28969.phpt @@ -11,8 +11,8 @@ function test() { class LocalSoapClient extends SoapClient { - function LocalSoapClient($wsdl, $options) { - $this->SoapClient($wsdl, $options); + function __construct($wsdl, $options) { + parent::__construct($wsdl, $options); $this->server = new SoapServer($wsdl, $options); $this->server->addFunction('test'); } diff --git a/ext/soap/tests/bugs/bug29795.phpt b/ext/soap/tests/bugs/bug29795.phpt index f32d16a996eba..52f8862fda123 100644 --- a/ext/soap/tests/bugs/bug29795.phpt +++ b/ext/soap/tests/bugs/bug29795.phpt @@ -6,8 +6,8 @@ Bug #29795 (SegFault with Soap and Amazon's Web Services) SoapClient($wsdl, $options); + function __construct($wsdl, $options) { + parent::__construct($wsdl, $options); } function __doRequest($request, $location, $action, $version) { diff --git a/ext/soap/tests/bugs/bug29839.phpt b/ext/soap/tests/bugs/bug29839.phpt index ab05820f0a572..25b4512a72c22 100644 --- a/ext/soap/tests/bugs/bug29839.phpt +++ b/ext/soap/tests/bugs/bug29839.phpt @@ -11,8 +11,8 @@ function EchoString($s) { class LocalSoapClient extends SoapClient { - function LocalSoapClient($wsdl, $options) { - $this->SoapClient($wsdl, $options); + function __construct($wsdl, $options) { + parent::__construct($wsdl, $options); $this->server = new SoapServer($wsdl, $options); $this->server->addFunction('EchoString'); } diff --git a/ext/soap/tests/bugs/bug29844.phpt b/ext/soap/tests/bugs/bug29844.phpt index baf7cde6d3b8e..bef8335709f45 100644 --- a/ext/soap/tests/bugs/bug29844.phpt +++ b/ext/soap/tests/bugs/bug29844.phpt @@ -13,8 +13,8 @@ class hello_world { class LocalSoapClient extends SoapClient { - function LocalSoapClient($wsdl, $options) { - $this->SoapClient($wsdl, $options); + function __construct($wsdl, $options) { + parent::__construct($wsdl, $options); $this->server = new SoapServer($wsdl, $options); $this->server->setClass('hello_world');; } diff --git a/ext/soap/tests/transport001.phpt b/ext/soap/tests/transport001.phpt index ae4de92524072..9134d3d7fb89b 100644 --- a/ext/soap/tests/transport001.phpt +++ b/ext/soap/tests/transport001.phpt @@ -10,8 +10,8 @@ function Add($x,$y) { class LocalSoapClient extends SoapClient { - function LocalSoapClient($wsdl, $options) { - $this->SoapClient($wsdl, $options); + function __construct($wsdl, $options) { + parent::__construct($wsdl, $options); $this->server = new SoapServer($wsdl, $options); $this->server->addFunction('Add'); }