Skip to content

Update ext/soap parameter names #6300

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions ext/soap/soap.stub.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

/** @generate-function-entries */

function use_soap_error_handler(bool $handler = true): bool {}
function use_soap_error_handler(bool $enable = true): bool {}

function is_soap_fault(mixed $object): bool {}

Expand All @@ -13,19 +13,19 @@ public function __construct(mixed $data, string $name) {}

class SoapHeader
{
public function __construct(string $namespace, string $name, mixed $data = UNKNOWN, bool $mustunderstand = false, string|int|null $actor = null) {}
public function __construct(string $namespace, string $name, mixed $data = UNKNOWN, bool $mustUnderstand = false, string|int|null $actor = null) {}
}

class SoapFault extends Exception
{
public function __construct(array|string|null $faultcode, string $faultstring, ?string $faultactor = null, mixed $detail = null, ?string $faultname = null, mixed $headerfault = null) {}
public function __construct(array|string|null $code, string $string, ?string $actor = null, mixed $details = null, ?string $name = null, mixed $headerFault = null) {}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Struggled with this one ... the problem is that the previous names match the property names on SoapFault. However, the old param names on the SoapVar ctor don't match the property names, so in the end I went with renaming them.


public function __toString(): string {}
}

class SoapVar
{
public function __construct(mixed $data, ?int $encoding, string $type_name = "", string $type_namespace = "", string $node_name = "", string $node_namespace = "") {}
public function __construct(mixed $data, ?int $encoding, string $typeName = "", string $typeNamespace = "", string $nodeName = "", string $nodeNamespace = "") {}
}

class SoapServer
Expand All @@ -36,13 +36,13 @@ public function __construct(?string $wsdl, array $options = []) {}
public function fault(string $code, string $string, string $actor = "", mixed $details = null, string $name = "") {}

/** @return void */
public function addSoapHeader(SoapHeader $object) {}
public function addSoapHeader(SoapHeader $header) {}

/** @return void */
public function setPersistence(int $mode) {}

/** @return void */
public function setClass(string $class_name, mixed ...$argv) {}
public function setClass(string $class, mixed ...$args) {}

/** @return void */
public function setObject(object $object) {}
Expand All @@ -57,22 +57,22 @@ public function getFunctions() {}
public function addFunction($functions) {}

/** @return void */
public function handle(?string $soap_request = null) {}
public function handle(?string $request = null) {}
}

class SoapClient
{
public function __construct(?string $wsdl, array $options = []) {}

/** @return mixed */
public function __call(string $function_name, array $arguments) {}
public function __call(string $name, array $args) {}

/**
* @param SoapHeader|array|null $input_headers
* @param array $output_headers
* @param SoapHeader|array|null $inputHeaders
* @param array $outputHeaders
* @return mixed
*/
public function __soapCall(string $function_name, array $arguments, ?array $options = null, $input_headers = null, &$output_headers = null) {}
public function __soapCall(string $name, array $args, ?array $options = null, $inputHeaders = null, &$outputHeaders = null) {}

/** @return array|null */
public function __getFunctions() {}
Expand All @@ -93,7 +93,7 @@ public function __getLastRequestHeaders() {}
public function __getLastResponseHeaders() {}

/** @return string|null */
public function __doRequest(string $request, string $location, string $action, int $version, bool $one_way = false) {}
public function __doRequest(string $request, string $location, string $action, int $version, bool $oneWay = false) {}

/** @return void */
public function __setCookie(string $name, ?string $value = null) {}
Expand All @@ -102,11 +102,11 @@ public function __setCookie(string $name, ?string $value = null) {}
public function __getCookies() {}

/**
* @param SoapHeader|array|null $soapheaders
* @param SoapHeader|array|null $headers
* @return bool
*/
public function __setSoapHeaders($soapheaders = null) {}
public function __setSoapHeaders($headers = null) {}

/** @return string|null */
public function __setLocation(string $new_location = "") {}
public function __setLocation(string $location = "") {}
}
52 changes: 26 additions & 26 deletions ext/soap/soap_arginfo.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/* This is a generated file, edit the .stub.php file instead.
* Stub hash: 6cba3704e7a71fa22031734207365dd88764ddb2 */
* Stub hash: 4f958b1c954386207619cfaefa02c96e90cc0da7 */

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_use_soap_error_handler, 0, 0, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, handler, _IS_BOOL, 0, "true")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, enable, _IS_BOOL, 0, "true")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_is_soap_fault, 0, 1, _IS_BOOL, 0)
Expand All @@ -18,17 +18,17 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapHeader___construct, 0, 0, 2)
ZEND_ARG_TYPE_INFO(0, namespace, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, data, IS_MIXED, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mustunderstand, _IS_BOOL, 0, "false")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mustUnderstand, _IS_BOOL, 0, "false")
ZEND_ARG_TYPE_MASK(0, actor, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_NULL, "null")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapFault___construct, 0, 0, 2)
ZEND_ARG_TYPE_MASK(0, faultcode, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_NULL, NULL)
ZEND_ARG_TYPE_INFO(0, faultstring, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, faultactor, IS_STRING, 1, "null")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, detail, IS_MIXED, 0, "null")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, faultname, IS_STRING, 1, "null")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, headerfault, IS_MIXED, 0, "null")
ZEND_ARG_TYPE_MASK(0, code, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_NULL, NULL)
ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, actor, IS_STRING, 1, "null")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, details, IS_MIXED, 0, "null")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, name, IS_STRING, 1, "null")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, headerFault, IS_MIXED, 0, "null")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_SoapFault___toString, 0, 0, IS_STRING, 0)
Expand All @@ -37,10 +37,10 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapVar___construct, 0, 0, 2)
ZEND_ARG_TYPE_INFO(0, data, IS_MIXED, 0)
ZEND_ARG_TYPE_INFO(0, encoding, IS_LONG, 1)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type_name, IS_STRING, 0, "\"\"")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, type_namespace, IS_STRING, 0, "\"\"")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, node_name, IS_STRING, 0, "\"\"")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, node_namespace, IS_STRING, 0, "\"\"")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, typeName, IS_STRING, 0, "\"\"")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, typeNamespace, IS_STRING, 0, "\"\"")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, nodeName, IS_STRING, 0, "\"\"")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, nodeNamespace, IS_STRING, 0, "\"\"")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapServer___construct, 0, 0, 1)
Expand All @@ -57,16 +57,16 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapServer_fault, 0, 0, 2)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapServer_addSoapHeader, 0, 0, 1)
ZEND_ARG_OBJ_INFO(0, object, SoapHeader, 0)
ZEND_ARG_OBJ_INFO(0, header, SoapHeader, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapServer_setPersistence, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapServer_setClass, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, class_name, IS_STRING, 0)
ZEND_ARG_VARIADIC_TYPE_INFO(0, argv, IS_MIXED, 0)
ZEND_ARG_TYPE_INFO(0, class, IS_STRING, 0)
ZEND_ARG_VARIADIC_TYPE_INFO(0, args, IS_MIXED, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapServer_setObject, 0, 0, 1)
Expand All @@ -81,22 +81,22 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapServer_addFunction, 0, 0, 1)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapServer_handle, 0, 0, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, soap_request, IS_STRING, 1, "null")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, request, IS_STRING, 1, "null")
ZEND_END_ARG_INFO()

#define arginfo_class_SoapClient___construct arginfo_class_SoapServer___construct

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapClient___call, 0, 0, 2)
ZEND_ARG_TYPE_INFO(0, function_name, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, arguments, IS_ARRAY, 0)
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, args, IS_ARRAY, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapClient___soapCall, 0, 0, 2)
ZEND_ARG_TYPE_INFO(0, function_name, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, arguments, IS_ARRAY, 0)
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, args, IS_ARRAY, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 1, "null")
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, input_headers, "null")
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, output_headers, "null")
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, inputHeaders, "null")
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, outputHeaders, "null")
ZEND_END_ARG_INFO()

#define arginfo_class_SoapClient___getFunctions arginfo_class_SoapServer_getFunctions
Expand All @@ -116,7 +116,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapClient___doRequest, 0, 0, 4)
ZEND_ARG_TYPE_INFO(0, location, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, action, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, version, IS_LONG, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, one_way, _IS_BOOL, 0, "false")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, oneWay, _IS_BOOL, 0, "false")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapClient___setCookie, 0, 0, 1)
Expand All @@ -127,11 +127,11 @@ ZEND_END_ARG_INFO()
#define arginfo_class_SoapClient___getCookies arginfo_class_SoapServer_getFunctions

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapClient___setSoapHeaders, 0, 0, 0)
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, soapheaders, "null")
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, headers, "null")
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SoapClient___setLocation, 0, 0, 0)
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, new_location, IS_STRING, 0, "\"\"")
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, location, IS_STRING, 0, "\"\"")
ZEND_END_ARG_INFO()


Expand Down
20 changes: 0 additions & 20 deletions ext/soap/tests/bugs/bug41477.phpt

This file was deleted.

8 changes: 4 additions & 4 deletions ext/soap/tests/fault_warning.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ echo get_class($fault);

?>
--EXPECT--
SoapFault::__construct(): Argument #1 ($faultcode) is not a valid fault code
SoapFault::__construct(): Argument #1 ($faultcode) must be of type array|string|null, stdClass given
SoapFault::__construct(): Argument #1 ($code) is not a valid fault code
SoapFault::__construct(): Argument #1 ($code) must be of type array|string|null, stdClass given
SoapFault
SoapFault
SoapFault::__construct(): Argument #1 ($faultcode) is not a valid fault code
SoapFault::__construct(): Argument #1 ($faultcode) is not a valid fault code
SoapFault::__construct(): Argument #1 ($code) is not a valid fault code
SoapFault::__construct(): Argument #1 ($code) is not a valid fault code
SoapFault