1
0
mirror of https://github.com/php/doc-en.git synced 2026-03-24 07:42:10 +01:00
Files
archived-doc-en/reference/soap/soapserver/addfunction.xml

151 lines
3.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="soapserver.addfunction" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>SoapServer::addFunction</refname>
<refpurpose>Adds one or more functions to handle SOAP requests</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="SoapServer">
<modifier>public</modifier> <type>void</type><methodname>SoapServer::addFunction</methodname>
<methodparam><type class="union"><type>array</type><type>string</type><type>int</type></type><parameter>functions</parameter></methodparam>
</methodsynopsis>
<para>
Exports one or more functions for remote clients
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>functions</parameter></term>
<listitem>
<para>
To export one function, pass the function name into this parameter as
a string.
</para>
<para>
To export several functions, pass an array of function names.
</para>
<para>
To export all the functions, pass an array of function names.
</para>
<simpara>
As of PHP 8.4.0, passing an <type>int</type> value (including
<constant>SOAP_FUNCTIONS_ALL</constant>) is deprecated.
Use <function>get_defined_functions</function> to retrieve all functions
and pass them as an array instead.
</simpara>
<note>
<para>
<parameter>functions</parameter> must receive all input arguments in the same
order as defined in the WSDL file (They should not receive any output parameters
as arguments) and return one or more values. To return several values they must
return an array with named output parameters.
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&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>
Passing an <type>int</type> to
<methodname>SoapServer::addFunction</methodname>,
including <constant>SOAP_FUNCTIONS_ALL</constant>, has been deprecated.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>SoapServer::addFunction</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
function echoString($inputString)
{
return $inputString;
}
$server->addFunction("echoString");
function echoTwoStrings($inputString1, $inputString2)
{
return array("outputString1" => $inputString1,
"outputString2" => $inputString2);
}
$server->addFunction(array("echoString", "echoTwoStrings"));
$functions = array_merge(...get_defined_functions());
$server->addFunction($functions);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>SoapServer::__construct</methodname></member>
<member><methodname>SoapServer::setClass</methodname></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->