前几天,部门召开了PHP技术峰会 学习会议,大家分别对这次会议的PPT 做了简单的介绍,
其中提到了 鸟哥【惠新辰】的一篇PPT《微博LAMP 演变》,如果谁有需要可以去谷歌搜,或者去
http://www.laruence.com/2013/08/15/2913.html 他的博客去看一下,我就不提供下载链接了。
这篇PPT中提到了几个点: Yaf,Yac,Yar;我们会后也分任务对这些去做一些了解。
我选了Yar,去年5月份,因为一淘首页要做一次Bigpipe的改版,我用C写过一个并行化的PHP扩展,
对这些比较熟悉,就拿来对比一下。
好吧,步入正题:
Yar:yet another rpc,这是它的全称。
关于一些基本介绍 http://www.laruence.com/2012/09/15/2779.html 可以去 鸟哥的博客去了解下。
我也简单介绍下用法,下面的代码来自鸟哥的博客。
server.php
<?php
class API {/*** the doc info will be generated automatically into service info page.* @params* @return*/public function api($parameter, $option = "foo") {}protected function client_can_not_see() {}
}$service = new Yar_Server(new API());
$service->handle();
?>
实例化 Yar_server的时候,需要传递一个对象,然后会将我们提交的参数作为 这个对象的method来使用,其实这个做法就相当于是一个
简单的路由功能,它巧妙将 doc作为api的接口说明来使用,让我们get直接访问server.php的时候,看到的会是下面的页面:
整体来讲,yar分为两部分:server和client.
Server端:
上面有讲到server可以理解为一个简单的路由,它只是将我们的对象作为一种服务接口来使用,
它的主要流程如下: