Skip to content
Open
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
12 changes: 9 additions & 3 deletions reference/soap/soapclient.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
</fieldsynopsis>
<fieldsynopsis>
<modifier>private</modifier>
<type class="union"><type>resource</type><type>null</type></type>
<type class="union"><type>array</type><type>null</type></type>
<varname linkend="soapclient.props.typemap">typemap</varname>
<initializer>null</initializer>
</fieldsynopsis>
Expand Down Expand Up @@ -487,8 +487,14 @@
<varlistentry xml:id="soapclient.props.typemap">
<term><varname>typemap</varname></term>
<listitem>
<para>
</para>
<simpara>
An array of type mappings used for custom XML-to-PHP type conversions,
or &null; if no type mappings are configured.
As of PHP 8.4.0, this property is of type <type>array</type>;
previously it was of type <type>resource</type>.
Code using <function>is_resource</function> to check this property
must be updated accordingly.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="soapclient.props.uri">
Expand Down
7 changes: 7 additions & 0 deletions reference/soap/soapclient/construct.xml
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,13 @@
<link linkend="object.get">__get()</link> methods for individual
properties will be.
</para>
<simpara>
As of PHP 8.4.0, keys may also be specified using Clark notation,
in the form <literal>{namespace}type</literal>, to map a type from a
specific XML namespace, for example
<literal>'{http://example.com}foo'</literal>. This is useful when
the same type name is defined in more than one namespace.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="soapclient.construct.options.typemap">
Expand Down
8 changes: 6 additions & 2 deletions reference/soap/soapserver/construct.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,15 @@
internal character encoding (<literal>encoding</literal>),
and actor URI (<literal>actor</literal>).
</para>
<para>
<simpara>
The <literal>classmap</literal> option can be used to map some WSDL
types to PHP classes. This option must be an array with WSDL types
as keys and names of PHP classes as values.
</para>
As of PHP 8.4.0, keys may also be specified using Clark notation,
in the form <literal>{namespace}type</literal>, to map a type from a
specific XML namespace, for example
<literal>'{http://example.com}foo'</literal>.
</simpara>
<para>
The <literal>typemap</literal> option is an array of type mappings.
Type mapping is an array with keys <literal>type_name</literal>,
Expand Down
28 changes: 27 additions & 1 deletion reference/soap/soapserver/setpersistence.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,33 @@
&return.void;
</para>
</refsect1>


<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
<constant>SOAP_PERSISTENCE_SESSION</constant> now works when the session
extension is built as a shared module; previously it failed silently.
<methodname>SoapServer::setPersistence</methodname> now also throws an
<exceptionname>Error</exceptionname> when <constant>SOAP_PERSISTENCE_SESSION</constant>
is requested while the session extension is not available.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<para>
Expand Down
9 changes: 9 additions & 0 deletions reference/soap/soapvar/construct.xml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,15 @@
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
An instance of <classname>DateTimeInterface</classname> used as the
value for an <literal>xsd:dateTime</literal> element, or a similar date
and time type, is now serialized to its ISO 8601 representation, instead
of being serialized as an empty string.
</entry>
</row>
<row>
<entry>8.0.3</entry>
<entry>
Expand Down