php swoole远程控制,用swoole框架实现WebService和远程接口调用RPC

利用Swoole框架中提供的WebService类和RestClient类,可以很方便地实现Webservice和远程接口调用。

可以用在,网站对外提供API,或者大型网站系统内部不同模块之间接口调用。

代码简洁易懂,支持远程函数调用,面向对象的方法、属性编程

服务器端:

require '../../config.PHP';

require LIBPATH.'/system/WebService.PHP';

$web = new WebService;

//设定可远程调用的客户端IP

$web->access_ip[] = '127.0.0.1';

$web->access_ip[] = '192.168.1.102';

//注册函数

$web->reg_func('testme','test');

//注册类

$web->reg_class('world','Foo');

//注册验证方式

$web->reg_auth('rpc_user_check');

//运行

$web->run();

/**

* 检测用户是否有权限进行远程调用

* @param $user

* @param $pass

* @return unknown_type

*/

function rpc_user_check($user,$getpass)

{

//这里也可以换成查询数据库表的操作

$passdb['test'] = '123456';

//存在用户,而且密码正确

$passhash = Auth::mkpasswd($user,$passdb[$user]);

if(isset($passdb[$user]) and $passhash==$getpass) return true;

else return false;

}

function test($name)

{

return array('hello','world!');

}

class Foo

{

public $index;

function getinfo($param)

{

return 'my index is '.$this->index.'; param :'.$param;

}

}

客户端:

require '../../config.PHP';

import('#web.RestClient');

$server_url = "http://top.com/test/web/rpc.PHP";

$user = 'test';

$pass = '123456';

$rest = new RestClient($server_url,$user,$pass);

//$rest->debug = true;

$result1 = $rest->func('testme');

$obj = $rest->create('world');

$obj->index = 'page';

$result2 = $obj->getinfo('delete');

debug($result1,$result2);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值