<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.webservice.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'zh',
  ),
  'this' => 
  array (
    0 => 'book.yar.php',
    1 => 'Yar',
    2 => 'Yet Another RPC Framework',
  ),
  'up' => 
  array (
    0 => 'refs.webservice.php',
    1 => 'Web 服务',
  ),
  'prev' => 
  array (
    0 => 'soapvar.construct.php',
    1 => 'SoapVar::__construct',
  ),
  'next' => 
  array (
    0 => 'yar.protocol.php',
    1 => 'Yar 协议',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'zh',
    'path' => 'reference/yar/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.yar.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.yar" class="book">
 
 <h1 class="title">Yet Another RPC Framework</h1>
 

 <div id="intro.yar" class="preface">
  <h1 class="title">简介</h1>
  <p class="simpara">
   Yar（Yet another RPC framework）是一个轻量、支持并发的 RPC
   框架，为 PHP 应用之间的通信提供了一种简单易用的方式。它还可以向远程服务并发发起多个调用。
  </p>
  <p class="simpara">
   Yar 是一个原生 PHP 扩展，而不是用户态的库。它基于 HTTP、HTTPS 或 TCP
   使用紧凑的二进制协议，并内置三种打包器（<code class="literal">php</code>、<code class="literal">json</code>，以及在使用
   <strong class="option configure">--enable-msgpack</strong> 编译时可用的
   <code class="literal">msgpack</code>），因此无需安装额外的依赖包或代理进程。
  </p>
  <p class="simpara">
   该协议与语言无关，任何语言都可以轻松实现与 Yar 服务的通信，
   具体细节参见 <a href="yar.protocol.php" class="link">Yar 协议</a>。
  </p>
 </div>

 






 







 






 







 






 






 






 






 






 






 






 







 






 






 






 







<ul class="chunklist chunklist_book"><li><a href="yar.protocol.php">Yar 协议</a></li><li><a href="yar.setup.php">安装/配置</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="yar.requirements.php">需求</a></li><li><a href="yar.installation.php">安装</a></li><li><a href="yar.configuration.php">运行时配置</a></li><li><a href="yar.resources.php">资源类型</a></li></ul></li><li><a href="yar.constants.php">预定义常量</a></li><li><a href="yar.examples.php">示例</a></li><li><a href="class.yar-server.php">Yar_Server</a> — Yar_Server 类<ul class="chunklist chunklist_book chunklist_children"><li><a href="yar-server.construct.php">Yar_Server::__construct</a> — 创建一个 RPC 服务端</li><li><a href="yar-server.handle.php">Yar_Server::handle</a> — 启动 RPC 服务端</li></ul></li><li><a href="class.yar-client.php">Yar_Client</a> — Yar_Client 类<ul class="chunklist chunklist_book chunklist_children"><li><a href="yar-client.call.php">Yar_Client::call</a> — 调用一个远程服务</li><li><a href="yar-client.construct.php">Yar_Client::__construct</a> — 创建一个客户端</li><li><a href="yar-client.getopt.php">Yar_Client::getOpt</a> — 读取客户端选项</li><li><a href="yar-client.setopt.php">Yar_Client::setOpt</a> — 设置客户端选项</li></ul></li><li><a href="class.yar-concurrent-client.php">Yar_Concurrent_Client</a> — Yar_Concurrent_Client 类<ul class="chunklist chunklist_book chunklist_children"><li><a href="yar-concurrent-client.call.php">Yar_Concurrent_Client::call</a> — 注册一个并发调用</li><li><a href="yar-concurrent-client.loop.php">Yar_Concurrent_Client::loop</a> — 发送并等待所有已注册的调用</li><li><a href="yar-concurrent-client.reset.php">Yar_Concurrent_Client::reset</a> — 清除所有已注册的调用</li></ul></li><li><a href="class.yar-server-exception.php">Yar_Server_Exception</a> — Yar_Server_Exception 类<ul class="chunklist chunklist_book chunklist_children"><li><a href="yar-server-exception.gettype.php">Yar_Server_Exception::getType</a> — 获取异常的类型</li></ul></li><li><a href="class.yar-server-output-exception.php">Yar_Server_Output_Exception</a> — Yar_Server_Output_Exception 类</li><li><a href="class.yar-server-packager-exception.php">Yar_Server_Packager_Exception</a> — Yar_Server_Packager_Exception 类</li><li><a href="class.yar-server-protocol-exception.php">Yar_Server_Protocol_Exception</a> — Yar_Server_Protocol_Exception 类</li><li><a href="class.yar-server-request-exception.php">Yar_Server_Request_Exception</a> — Yar_Server_Request_Exception 类</li><li><a href="class.yar-client-exception.php">Yar_Client_Exception</a> — Yar_Client_Exception 类</li><li><a href="class.yar-client-packager-exception.php">Yar_Client_Packager_Exception</a> — Yar_Client_Packager_Exception 类</li><li><a href="class.yar-client-protocol-exception.php">Yar_Client_Protocol_Exception</a> — Yar_Client_Protocol_Exception 类</li><li><a href="class.yar-client-transport-exception.php">Yar_Client_Transport_Exception</a> — Yar_Client_Transport_Exception 类</li></ul></div><?php manual_footer($setup); ?>