xmlrpc_php.xml.svn-base
来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 1,037 行 · 第 1/3 页
SVN-BASE
1,037 行
<glossdef> <para>helper functions to "automagically" convert plain php functions to xmlrpc services and vice versa</para> </glossdef> </glossentry> <glossentry> <glossterm>lib/compat/array_key_exists.php, lib/compat/is_a.php, lib/compat/is_scalar.php, lib/compat/var_export.php, lib/compat/vesrions_compare.php</glossterm> <glossdef> <para>compatibility functions: these files implement the compatibility layer needed to run the library with PHP versions 4.0 and 4.1</para> </glossdef> </glossentry> <glossentry> <glossterm>demo/server/proxy.php</glossterm> <glossdef> <para>a sample server implementing xmlrpc proxy functionality.</para> </glossdef> </glossentry> <glossentry> <glossterm>demo/server/server.php</glossterm> <glossdef> <para>a sample server hosting various demo functions, as well as a full suite of functions used for interoperability testing. It is used by testsuite.php (see below) for unit testing the library, and is not to be copied literally into your production servers</para> </glossdef> </glossentry> <glossentry> <glossterm>demo/client/client.php, demo/client/agesort.php, demo/client/which.php</glossterm> <glossdef> <para>client code to exercise some of the functions in server.php, including the <function>interopEchoTests.whichToolkit</function> method.</para> </glossdef> </glossentry> <glossentry> <glossterm>demo/client/wrap.php</glossterm> <glossdef> <para>client code to illustrate 'wrapping' of remote methods into php functions.</para> </glossdef> </glossentry> <glossentry> <glossterm>demo/client/introspect.php</glossterm> <glossdef> <para>client code to illustrate usage of introspection capabilities offered by server.php.</para> </glossdef> </glossentry> <glossentry> <glossterm>demo/client/mail.php</glossterm> <glossdef> <para>client code to illustrate usage of an xmlrpc-to-email gateway using Dave Winer's XML-RPC server at userland.com.</para> </glossdef> </glossentry> <glossentry> <glossterm>demo/client/zopetest.php</glossterm> <glossdef> <para>example client code that queries an xmlrpc server built in Zope.</para> </glossdef> </glossentry> <glossentry> <glossterm>demo/vardemo.php</glossterm> <glossdef> <para>examples of how to construct xmlrpcval types</para> </glossdef> </glossentry> <glossentry> <glossterm>demo/demo1.txt, demo/demo2.txt, demo/demo3.txt</glossterm> <glossdef> <para>XML-RPC responses captured in a file for testing purposes (you can use these to test the <function>xmlrpcmsg->parseResponse()</function> method).</para> </glossdef> </glossentry> <glossentry> <glossterm>demo/server/discuss.php, demo/client/comment.php</glossterm> <glossdef> <para>Software used in the PHP chapter of <xref linkend="jellyfish" /> to provide a comment server and allow the attachment of comments to stories from Meerkat's data store.</para> </glossdef> </glossentry> <glossentry> <glossterm>test/testsuite.php, test/parse_args.php</glossterm> <glossdef> <para>A unit test suite for this software package. If you do development on this software, please consider submitting tests for this suite.</para> </glossdef> </glossentry> <glossentry> <glossterm>test/benchmark.php</glossterm> <glossdef> <para>A (very limited) benchmarking suite for this software package. If you do development on this software, please consider submitting benchmarks for this suite.</para> </glossdef> </glossentry> <glossentry> <glossterm>test/phpunit.php, test/PHPUnit/*.php</glossterm> <glossdef> <para>An (incomplete) version PEAR's unit test framework for PHP. The complete package can be found at <ulink url="http://pear.php.net/package/PHPUnit">http://pear.php.net/package/PHPUnit</ulink></para> </glossdef> </glossentry> <glossentry> <glossterm>test/verify_compat.php</glossterm> <glossdef> <para>Script designed to help the user to verify the level of compatibility of the library with the current php install</para> </glossdef> </glossentry> <glossentry> <glossterm>extras/test.pl, extras/test.py</glossterm> <glossdef> <para>Perl and Python programs to exercise server.php to test that some of the methods work.</para> </glossdef> </glossentry> <glossentry> <glossterm>extras/workspace.testPhpServer.fttb</glossterm> <glossdef> <para>Frontier scripts to exercise the demo server. Thanks to Dave Winer for permission to include these. See <ulink url="http://www.xmlrpc.com/discuss/msgReader$853">Dave's announcement of these.</ulink></para> </glossdef> </glossentry> <glossentry> <glossterm>extras/rsakey.pem</glossterm> <glossdef> <para>A test certificate key for the SSL support, which can be used to generate dummy certificates. It has the passphrase "test."</para> </glossdef> </glossentry> </glosslist> </chapter> <chapter id="bugs"> <title>Known bugs and limitations</title> <para>This started out as a bare framework. Many "nice" bits haven't been put in yet. Specifically, very little type validation or coercion has been put in. PHP being a loosely-typed language, this is going to have to be done explicitly (in other words: you can call a lot of library functions passing them arguments of the wrong type and receive an error message only much further down the code, where it will be difficult to understand).</para> <para>dateTime.iso8601 is supported opaquely. It can't be done natively as the XML-RPC specification explicitly forbids passing of timezone specifiers in ISO8601 format dates. You can, however, use the <xref linkend="iso8601encode" /> and <xref linkend="iso8601decode" /> functions to do the encoding and decoding for you.</para> <para>Very little HTTP response checking is performed (e.g. HTTP redirects are not followed and the Content-Length HTTP header, mandated by the xml-rpc spec, is not validated); cookie support still involves quite a bit of coding on the part of the user.</para> <para>If a specific character set encoding other than US-ASCII, ISO-8859-1 or UTF-8 is received in the HTTP header or XML prologue of xml-rpc request or response messages then it will be ignored for the moment, and the content will be parsed as if it had been encoded using the charset defined by <xref linkend="xmlrpc-defencoding" /></para> <para>Very large floating point numbers are serialized using exponential notation, even though the spec explicitly forbids this behaviour. This will not be a problem if this library is used on both ends of the communication, but might cause problems with other implementations.</para> <para>Support for receiving from servers version 1 cookies (i.e. conforming to RFC 2965) is quite incomplete, and might cause unforeseen errors.</para> <para>A PHP warning will be generated in many places when using <filename>xmlrpc.inc</filename> and <filename>xmlrpcs.inc</filename> with PHP 5 in strict error reporting mode. The simplest workaround to this problem is to lower the <parameter>error_reporting</parameter> level in php.ini.</para> </chapter> <chapter id="support"> <title>Support</title> <sect1> <title>Online Support</title> <para>XML-RPC for PHP is offered "as-is" without any warranty or commitment to support. However, informal advice and help is available via the XML-RPC for PHP website and mailing list and from XML-RPC.com.</para> <itemizedlist> <listitem> <para>The <emphasis>XML-RPC for PHP</emphasis> development is hosted on <ulink url="http://phpxmlrpc.sourceforge.net">phpxmlrpc.sourceforge.net</ulink>. Bugs, feature requests and patches can be posted to the <ulink url="http://sourceforge.net/projects/phpxmlrpc">project's website</ulink>.</para> </listitem> <listitem> <para>The <emphasis>PHP XML-RPC interest mailing list</emphasis> is run by the author. More details <ulink url="http://lists.gnomehack.com/mailman/listinfo/phpxmlrpc">can be found here</ulink>.</para> </listitem> <listitem> <para>For more general XML-RPC questions, there is a Yahoo! Groups <ulink url="http://groups.yahoo.com/group/xml-rpc/">XML-RPC mailing list</ulink>.</para> </listitem> <listitem> <para>The <ulink url="http://www.xmlrpc.com/discuss">XML-RPC.com</ulink> discussion group is a useful place to get help with using XML-RPC. This group is also gatewayed into the Yahoo! Groups mailing list.</para> </listitem> </itemizedlist> </sect1> <sect1 id="jellyfish" xreflabel="The Jellyfish Book"> <title>The Jellyfish Book</title> <para><graphic align="right" depth="190" fileref="http://www.oreilly.com/catalog/covers/progxmlrpc.s.gif" format="GIF" width="145" />Together with Simon St.Laurent and Joe Johnston, Edd Dumbill wrote a book on XML-RPC for O'Reilly and Associates on XML-RPC. It features a rather fetching jellyfish on the cover.</para> <para>Complete details of the book are <ulink url="http://www.oreilly.com/catalog/progxmlrpc/">available from O'Reilly's web site.</ulink></para> <para>Edd is responsible for the chapter on PHP, which includes a worked example of creating a forum server, and hooking it up the O'Reilly's <ulink url="http://meerkat.oreillynet.com/">Meerkat</ulink> service in order to allow commenting on news stories from around the Web.</para> <para>If you've benefited from the effort that has been put into writing this software, then please consider buying the book!</para> </sect1> </chapter> <chapter id="apidocs"> <title>Class documentation</title> <sect1 id="xmlrpcval" xreflabel="xmlrpcval"> <title>xmlrpcval</title> <para>This is where a lot of the hard work gets done. This class enables the creation and encapsulation of values for XML-RPC.</para> <para>Ensure you've read the XML-RPC spec at <ulink url="http://www.xmlrpc.com/stories/storyReader$7">http://www.xmlrpc.com/stories/storyReader$7</ulink> before reading on as it will make things clearer.</para> <para>The <classname>xmlrpcval</classname> class can store arbitrarily complicated values using the following types: <literal>i4 int boolean string double dateTime.iso8601 base64 array struct</literal>. You should refer to the <ulink url="http://www.xmlrpc.com/spec">spec</ulink> for more information on what each of these types mean.</para> <sect2> <title>Notes on types</title> <sect3> <title>int</title> <para>The type <classname>i4</classname> is accepted as a synonym for <classname>int</classname> when creating xmlrpcval objects. The xml parsing code will always convert <classname>i4</classname> to <classname>int</classname>: <classname>int</classname> is regarded by this implementation as the canonical name for this type.</para> </sect3> <sect3> <title>base64</title> <para>Base 64 encoding is performed transparently to the caller when using this type. Decoding is also transparent. Therefore you ought to consider it as a "binary" data type, for use when you want to pass data that is not 7-bit clean.</para> </sect3> <sect3> <title>boolean</title> <para>The php values <literal>true</literal> and <literal>1</literal> map to <literal>true</literal>. All other values (including the empty string) are converted to <literal>false</literal>.</para> </sect3> <sect3> <title>string</title> <para>Characters <, >, ', ", &, are encoded using their entity reference as &lt; &gt; &apos; &quot; and &amp; All other characters outside of the ASCII range are encoded using their character reference representation (e.g. &#200 for
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?