xmlrpc_php.xml.svn-base

来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 1,037 行 · 第 1/3 页

SVN-BASE
1,037
字号
          </listitem>          <listitem>            <para>Javadoc documentation of lib files (almost) complete</para>          </listitem>          <listitem>            <para>Many performance tweaks and code cleanups, plus the usual crop            of bugs fixed (see NEWS file for complete list of bugs)</para>          </listitem>          <listitem>            <para>Lib internals have been modified to provide better support for            grafting extra functionality on top of it. Stay tuned for future            releases of the EXTRAS package (or go read Appendix B)...</para>          </listitem>        </itemizedlist></para>    </sect1>    <sect1>      <title>2.0 final</title>      <para><itemizedlist>          <listitem>            <para>Added to the client class the possibility to use Digest and            NTLM authentication methods (when using the CURL library) for            connecting to servers and NTLM for connecting to proxies</para>          </listitem>          <listitem>            <para>Added to the client class the possibility to specify alternate            certificate files/directories for authenticating the peer with when            using HTTPS communication</para>          </listitem>          <listitem>            <para>Reviewed all examples and added a new demo file, containing a            proxy to forward xmlrpc requests to other servers (useful e.g. for            ajax coding)</para>          </listitem>          <listitem>            <para>The debugger has been upgraded to reflect the new client            capabilities</para>          </listitem>          <listitem>            <para>All known bugs have been squashed, and the lib is more            tolerant than ever of commonly-found mistakes</para>          </listitem>        </itemizedlist></para>    </sect1>    <sect1>      <title>2.0 Release candidate 3</title>      <para><itemizedlist>          <listitem>            <para>Added to server class the property            <property>functions_parameters_type</property>, that allows the            server to register plain php functions as xmlrpc methods (i.e.            functions that do not take an xmlrpcmsg object as unique            param)</para>          </listitem>          <listitem>            <para>let server and client objects serialize calls using a            specified character set encoding for the produced xml instead of            US-ASCII (ISO-8859-1 and UTF-8 supported)</para>          </listitem>          <listitem>            <para>let php_xmlrpc_decode accept xmlrpcmsg objects as valid            input</para>          </listitem>          <listitem>            <para>'class::method' syntax is now accepted in the server dispatch            map</para>          </listitem>          <listitem>            <para><function>xmlrpc_clent::SetDebug()</function> accepts integer            values instead of a boolean value, with debugging level 2 adding to            the information printed to screen the complete client request</para>          </listitem>        </itemizedlist></para>    </sect1>    <sect1>      <title>2.0 Release candidate 2</title>      <para><itemizedlist>          <listitem>            <para>Added a new property of the client object:            <code>xmlrpc_client-&gt;return_type</code>, indicating whether calls            to the send() method will return xmlrpcresp objects whose value() is            an xmlrpcval object, a php value (automatically decoded) or the raw            xml received from the server.</para>          </listitem>          <listitem>            <para>Added in the extras dir. two new library file:            <filename>jsonrpc.inc</filename> and            <filename>jsonrpcs.inc</filename> containing new classes that            implement support for the json-rpc protocol (alpha quality            code)</para>          </listitem>          <listitem>            <para>Added a new client method: <code>setKey($key, $keypass)</code>            to be used in HTTPS connections</para>          </listitem>          <listitem>            <para>Added a new file containing some benchmarks in the testsuite            directory</para>          </listitem>        </itemizedlist></para>    </sect1>    <sect1>      <title>2.0 Release candidate 1</title>      <itemizedlist>        <listitem>          <para>Support for HTTP proxies (new method:          <code>xmlrpc_client::setProxy()</code>)</para>        </listitem>        <listitem>          <para>Support HTTP compression of both requests and responses. Clients          can specify what kind of compression they accept for responses between          deflate/gzip/any, and whether to compress the requests. Servers by          default compress responses to clients that explicitly declare support          for compression (new methods:          <code>xmlrpc_client::setAcceptedCompression()</code>,          <code>xmlrpc_client::setRequestCompression()</code>). Note that the          ZLIB php extension needs to be enabled in PHP to support          compression.</para>        </listitem>        <listitem>          <para>Implement HTTP 1.1 connections, but only if CURL is enabled          (added an extra parameter to <code>xmlrpc_client::xmlrpc_client</code>          to set the desired HTTP protocol at creation time and a new supported          value for the last parameter of <code>xmlrpc_client::send</code>,          which now can be safely omitted if it has been specified at creation          time)</para>          <para>With PHP versions greater than 4.3.8 keep-alives are enabled by          default for HTTP 1.1 connections. This should yield faster execution          times when making multiple calls in sequence to the same xml-rpc          server from a single client.</para>        </listitem>        <listitem>          <para>Introduce support for cookies. Cookies to be sent to the server          with a request can be set using          <code>xmlrpc_client::setCookie()</code>, while cookies received from          the server are found in <code>xmlrpcresp::cookies()</code>. It is left          to the user to check for validity of received cookies and decide          whether they apply to successive calls or not.</para>        </listitem>        <listitem>          <para>Better support for detecting different character set encodings          of xml-rpc requests and responses: both client and server objects will          correctly detect the charset encoding of received xml, and use an          appropriate xml parser.</para>          <para>Supported encodings are US-ASCII, UTF-8 and ISO-8859-1.</para>        </listitem>        <listitem>          <para>Added one new xmlrpcmsg constructor syntax, allowing usage of a          single string with the complete URL of the target server</para>        </listitem>        <listitem>          <para>Convert xml-rpc boolean values into native php values instead of          0 and 1</para>        </listitem>        <listitem>          <para>Force the <code>php_xmlrpc_encode</code> function to properly          encode numerically indexed php arrays into xml-rpc arrays (numerically          indexed php arrays always start with a key of 0 and increment keys by          values of 1)</para>        </listitem>        <listitem>          <para>Prevent the <code>php_xmlrpc_encode</code> function from further          re-encoding any objects of class <code>xmlrpcval</code> that are          passed to it. This allows to call the function with arguments          consisting of mixed php values / xmlrpcval objects.</para>        </listitem>        <listitem>          <para>Allow a server to NOT respond to system.* method calls (setting          the <code>$server-&gt;allow_system_funcs</code> property).</para>        </listitem>        <listitem>          <para>Implement a new xmlrpcval method to determine if a value of type          struct has a member of a given name without having to loop trough all          members: <code>xmlrpcval::structMemExists()</code></para>        </listitem>        <listitem>          <para>Expand methods <code>xmlrpcval::addArray</code>,          <code>addScalar</code> and <code>addStruct</code> allowing extra php          values to be added to xmlrpcval objects already formed.</para>        </listitem>        <listitem>          <para>Let the <code>xmlrpc_client::send</code> method accept an XML          string for sending instead of an xmlrpcmsg object, to facilitate          debugging and integration with the php native xmlrpc extension</para>        </listitem>        <listitem>          <para>Extend the <code>php_xmlrpc_encode</code> and          <code>php_xmlrpc_decode</code> functions to allow serialization and          rebuilding of PHP objects. To successfully rebuild a serialized          object, the object class must be defined in the deserializing end of          the transfer. Note that object members of type resource will be          deserialized as NULL values.</para>          <para>Note that his has been implemented adding a "php_class"          attribute to xml representation of xmlrpcval of STRUCT type, which,          strictly speaking, breaks the xml-rpc spec. Other xmlrpc          implementations are supposed to ignore such an attribute (unless they          implement a brain-dead custom xml parser...), so it should be safe          enabling it in heterogeneous environments. The activation of this          feature is done by usage of an option passed as second parameter to          both <code>php_xmlrpc_encode</code> and          <code>php_xmlrpc_decode</code>.</para>        </listitem>        <listitem>          <para>Extend the <code>php_xmlrpc_encode</code> function to allow          automatic serialization of is08601-conforming php strings as          datetime.iso8601 xmlrpcvals, by usage of an optional parameter</para>        </listitem>        <listitem>          <para>Added an automatic stub code generator for converting xmlrpc          methods to php functions and vice-versa.</para>          <para>This is done via two new functions:          <code>wrap_php_function</code> and <code>wrap_xmlrpc_method</code>,          and has many caveats, with php being a typeless language and          all...</para>          <para>With PHP versions lesser than 5.0.3 wrapping of php functions          into xmlrpc methods is not supported yet.</para>        </listitem>        <listitem>          <para>Allow object methods to be used in server dispatch map</para>        </listitem>        <listitem>          <para>Added a complete debugger solution, in the          <filename>debugger</filename> folder</para>        </listitem>        <listitem>          <para>Added configurable server-side debug messages, controlled by the          new method <code>xmlrpc_server::SetDebug()</code>. At level 0, no          debug messages are sent to the client; level 1 is the same as the old          behaviour; at level 2 a lot more info is echoed back to the client,          regarding the received call; at level 3 all warnings raised during          server processing are trapped (this prevents breaking the xml to be          echoed back to the client) and added to the debug info sent back to          the client</para>        </listitem>        <listitem>          <para>New XML parsing code, yields smaller memory footprint and faster          execution times, not to mention complete elimination of the dreaded          <filename>eval()</filename> construct, so prone to code injection          exploits</para>        </listitem>        <listitem>          <para>Rewritten most of the error messages, making text more          explicative</para>        </listitem>      </itemizedlist>    </sect1>  </chapter>  <chapter id="requirements">    <title>System Requirements</title>    <para>The library has been designed with goals of scalability and backward    compatibility. As such, it supports a wide range of PHP installs. Note that    not all features of the lib are available in every configuration.</para>    <para>The <emphasis>minimum supported</emphasis> PHP version is 4.2.</para>    <para>A compatibility layer is provided that allows the code to run on PHP    4.0.5 and 4.1. Note that if you are stuck on those platforms, we suggest you    upgrade as soon as possible.</para>    <para>Automatic generation of xml-rpc methods from php functions is only    supported with PHP version 5.0.3 and later (note that the lib will generate    some warnings with PHP 5 in strict error reporting mode).</para>    <para>If you wish to use SSL or HTTP 1.1 to communicate with remote servers,    you need the "curl" extension compiled into your PHP installation. This is    available in PHP 4.0.2 and greater, although 4.0.6 has a bug preventing SSL    working, and versions prior to 4.3.8 do not support streamlining multiple    requests using HTTP Keep-Alive.</para>    <para>The "xmlrpc" native extension is not required to be compiled into your    PHP installation, but if it is, there will be no interference with the    operation of this library.</para>  </chapter>  <chapter id="manifest">    <title>Files in the distribution</title>    <glosslist>      <glossentry>        <glossterm>lib/xmlrpc.inc</glossterm>        <glossdef>          <para>the XML-RPC classes. <function>include()</function> this in your          PHP files to use the classes.</para>        </glossdef>      </glossentry>      <glossentry>        <glossterm>lib/xmlrpcs.inc</glossterm>        <glossdef>          <para>the XML-RPC server class. <function>include()</function> this in          addition to xmlrpc.inc to get server functionality</para>        </glossdef>      </glossentry>      <glossentry>        <glossterm>lib/xmlrpc_wrappers.inc</glossterm>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?