xmlrpc_php.xml.svn-base
来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 1,037 行 · 第 1/3 页
SVN-BASE
1,037 行
<?xml version="1.0" encoding="ISO-8859-1"?><?xml-stylesheet href="docbook-css/driver.css" type="text/css"?><!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN""http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"><!--PHP-XMLRPC User manual$Id: xmlrpc_php.xml,v 1.24 2007/03/01 21:21:04 ggiunta Exp $--><book> <title>XML-RPC for PHP</title> <subtitle>version 2.2</subtitle> <bookinfo> <date>February 25, 2007</date> <authorgroup> <author> <firstname>Edd</firstname> <surname>Dumbill</surname> </author> <author> <firstname>Gaetano</firstname> <surname>Giunta</surname> </author> <author> <firstname>Miles</firstname> <surname>Lott</surname> </author> <author> <firstname>Justin R.</firstname> <surname>Miller</surname> </author> <author> <firstname>Andres</firstname> <surname>Salomon</surname> </author> </authorgroup> <copyright> <year>1999,2000,2001</year> <holder>Edd Dumbill, Useful Information Company</holder> </copyright> <legalnotice> <para>All rights reserved.</para> <para>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</para> <para><itemizedlist> <listitem> <para>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</para> </listitem> <listitem> <para>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</para> </listitem> <listitem> <para>Neither the name of the "XML-RPC for PHP" nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</para> </listitem> </itemizedlist></para> <para>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</para> </legalnotice> </bookinfo> <chapter id="introduction"> <title>Introduction</title> <para>XML-RPC is a format devised by <ulink url="http://www.userland.com/">Userland Software</ulink> for achieving remote procedure call via XML using HTTP as the transport. XML-RPC has its own web site, <ulink url="http://www.xmlrpc.com/">www.xmlrpc.com</ulink></para> <para>This collection of PHP classes provides a framework for writing XML-RPC clients and servers in PHP.</para> <para>Main goals of the project are ease of use, flexibility and completeness.</para> <para>The original author is Edd Dumbill of <ulink url="http://usefulinc.com/">Useful Information Company</ulink>. As of the 1.0 stable release, the project has been opened to wider involvement and moved to <ulink url="http://phpxmlrpc.sourceforge.net/">SourceForge</ulink>.</para> <para>A list of XML-RPC implementations for other languages such as Perl and Python can be found on the <ulink url="http://www.xmlrpc.com/">www.xmlrpc.com</ulink> site.</para> <sect1> <title>Acknowledgements</title> <para>Daniel E. Baumann</para> <para>James Bercegay</para> <para>Leon Blackwell</para> <para>Stephane Bortzmeyer</para> <para>Daniel Convissor</para> <para>Geoffrey T. Dairiki</para> <para>Stefan Esser</para> <para>James Flemer</para> <para>Ernst de Haan</para> <para>Tom Knight</para> <para>Axel Kollmorgen</para> <para>Peter Kocks</para> <para>Daniel Krippner</para> <para>S. Kuip</para> <para>A. Lambert</para> <para>Dan Libby</para> <para>Arnaud Limbourg</para> <para>Ernest MacDougal Campbell III</para> <para>Lukasz Mach</para> <para>Kjartan Mannes</para> <para>Ben Margolin</para> <para>Nicolay Mausz</para> <para>Justin Miller</para> <para>Jan Pfeifer</para> <para>Giancarlo Pinerolo</para> <para>Peter Russel</para> <para>Viliam Simko</para> <para>Douglas Squirrel</para> <para>Idan Sofer</para> <para>Anatoly Techtonik</para> <para>Eric van der Vlist</para> <para>Christian Wenz</para> <para>Jim Winstead</para> <para>Przemyslaw Wroblewski</para> </sect1> </chapter> <chapter id="news"> <title>What's new</title> <para><emphasis>Note:</emphasis> not all items the following list have (yet) been fully documented, and some might not be present in any other chapter in the manual. To find a more detailed description of new functions and methods please take a look at the source code of the library, which is quite thoroughly commented in javadoc-like form.</para> <sect1> <title>2.2</title> <itemizedlist> <listitem> <para>fixed: debugger errors on php installs with magic_quotes_gpc on</para> </listitem> <listitem> <para>fixed: support for https connections via proxy</para> </listitem> <listitem> <para>fixed: wrap_xmlrpc_method() generated code failed to properly encode php objects</para> </listitem> <listitem> <para>improved: slightly faster encoding of data which is internally UTF-8</para> </listitem> <listitem> <para>improved: debugger always generates a 'null' id for jsonrpc if user omits it</para> </listitem> <listitem> <para>new: debugger can take advantage of a graphical value builder (it has to be downloaded separately, as part of jsxmlrpc package. See Appendix D for more details)</para> </listitem> <listitem> <para>new: support for the <NIL/> xmlrpc extension. see from more details</para> </listitem> <listitem> <para>new: server support for the system.getCapabilities xmlrpc extension</para> </listitem> <listitem> <para>new: <function><link linkend="wrap_xmlrpc_method">wrap_xmlrpc_method()</link></function> accepts two new options: debug and return_on_fault</para> </listitem> </itemizedlist> </sect1> <sect1> <title>2.1</title> <para><itemizedlist> <listitem> <para>The <function>wrap_php_function</function> and <function>wrap_xmlrpc_method</function> functions have been moved out of the base library file <filename>xmlrpc.inc</filename> into a file of their own: <filename>xmlrpc_wrappers.inc</filename>. You will have to include() / require() it in your scripts if you have been using those functions. For increased security, the automatic rebuilding of php object instances out of received xmlrpc structs in <function>wrap_xmlrpc_method()</function> has been disabled (but it can be optionally re-enabled). Both <function>wrap_php_function()</function> and <function>wrap_xmlrpc_method()</function> functions accept many more options to fine tune their behaviour, including one to return the php code to be saved and later used as standalone php script</para> </listitem> <listitem> <para>The constructor of xmlrpcval() values has seen some internal changes, and it will not throw a php warning anymore when invoked using an unknown xmlrpc type: the error will only be written to php error log. Also <code>new xmlrpcval('true', 'boolean')</code> is not supported anymore</para> </listitem> <listitem> <para>The new function <function>php_xmlrpc_decode_xml()</function> will take the xml representation of either an xmlrpc request, response or single value and return the corresponding php-xmlrpc object instance</para> </listitem> <listitem> <para>A new function <function>wrap_xmlrpc_server()</function>has been added, to wrap all (or some) of the methods exposed by a remote xmlrpc server into a php class</para> </listitem> <listitem> <para>A new file has been added: <filename>verify_compat.php</filename>, to help users diagnose the level of compliance of their php installation with the library</para> </listitem> <listitem> <para>Restored compatibility with php 4.0.5 (for those poor souls still stuck on it)</para> </listitem> <listitem> <para>Method <methodname>xmlrpc_server->service()</methodname> now returns a value: either the response payload or xmlrpcresp object instance</para> </listitem> <listitem> <para>Method <methodname>xmlrpc_server->add_to_map()</methodname> now accepts xmlrpc methods with no param definitions</para> </listitem> <listitem> <para>Documentation for single parameters of exposed methods can be added to the dispatch map (and turned into html docs in conjunction with a future release of the 'extras' package)</para> </listitem> <listitem> <para>Full response payload is saved into xmlrpcresp object for further debugging</para> </listitem> <listitem> <para>The debugger can now generate code that wraps a remote method into a php function (works for jsonrpc, too); it also has better support for being activated via a single GET call (e.g. for integration into other tools)</para> </listitem> <listitem> <para>Stricter parsing of incoming xmlrpc messages: two more invalid cases are now detected (double <literal>data</literal> element inside <literal>array</literal> and <literal>struct</literal>/<literal>array</literal> after scalar inside <literal>value</literal> element)</para> </listitem> <listitem> <para>More logging of errors in a lot of situations</para>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?