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

152 lines
4.9 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 577239f64b3959c22d348a5f381eaf32fde996ed Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<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>Добавляет одну или несколько функций для обработки запросов SOAP</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>
Экспортирует одну или несколько функций удалённому клиенту
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>functions</parameter></term>
<listitem>
<para>
Для экспорта одной функции, передайте в этот параметр её имя в виде строки.
</para>
<para>
Для экспорта нескольких функций, передайте в этот параметр массив с именами функций.
</para>
<para>
Для экспорта всех функций, передайте массив имён функций.
</para>
<simpara>
Начиная с PHP 8.4.0, передача целого числа (<type>int</type>)
(включая константу <constant>SOAP_FUNCTIONS_ALL</constant>) устарела.
Используйте функцию <function>get_defined_functions</function>
для получения всех функций и передайте их в виде массива.
</simpara>
<note>
<para>
Параметр <parameter>functions</parameter> должен принимать все входящие
аргументы в том же порядке, как они определены в файле WSDL (они не должны
принимать никаких возвращаемых параметров в качестве аргументов) и должны
возвращать одно или больше значений. Для возврата нескольких значений,
они должны возвращать массив с именованными возвращаемыми параметрами.
</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>
Передача целого числа (<type>int</type>) в метод <methodname>SoapServer::addFunction</methodname>,
включая константу <constant>SOAP_FUNCTIONS_ALL</constant>, больше не поддерживается.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>SoapServer::addFunction</function></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
-->