把步骤写下来,跟大家讨论下。
前置步骤:
1. 到 github 下载最新的 TP ,请选择 branch:master
2. 确认存在以下档案及文件夹
ThinkPHP/Library/Think/Controller/RpcController.class.php
ThinkPHP/Library/Vendor/phpRPC
3. 其中 Vendor/phpRPC 是 PHPRPC 的第三方类库,当然要完整。
4. 打开 Vendor/phpRPC/compat.php
将 function gzdecode() {} 用 if (!function_exists('gzdecode')) {} 包起来
服务端
1. 控制器继承 RpcController
如:class GameController extends RpcController {}
2. 置设允许访问的方法
protected $allowMethodList = array('方法一','方法二','方法N');
如:protected $allowMethodList = array('test');
3. 使用 Public function 实作方法。
如:Public function test(){}
4. 使用 return 返回数据,可以是数组。
如:return $data;
客户端
1. useService('http://域名/模块名/控制器名')
如:$client->useService('http://127.0.0.1/Home/Game');
2. 直接调用方法
如:$client->test();
所有步骤完成。
感谢 TP 开发人员提供一个这麽好的框架给大家使用。
特别感谢,以下人员在小清新调试时,提供有用的意见:
Falcon, 虎爷可乐, 归归, 待定
小清新说,感谢排名不分先后,欠抽的就不写上来了。
应该没有错误了,有问题请提出来讨论。
附件是改好的 compat.php
手册已出!本篇仍属有效,但不如手册详细。
http://document.thinkphp.cn/manual_3_2.html#rpc
2013/12/31 早上八点,github 已有compat.php 修正,目测应该是更完善。请去下载 github 上的 PHPRPC ,附件留著给 PHPRPC官网下载的人使用。
compat.rar
( 2.52 KB 下载:76 次 )
最佳答案