`
matyhtf
  • 浏览: 82792 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用swoole框架实现WebService和远程接口调用RPC

    博客分类:
  • PHP
阅读更多

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

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

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

 

服务器端:

<?php
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;
    }
}

 客户端:

<?php
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);

 

 

分享到:
评论

相关推荐

    一个很简单实用 的 swoole 框架 麻雀虽小, 五脏俱全.rar

    而swoole框架用composer引入之后安装即可,或者下载源码后手动include/require。 另外,swoole框架依赖swoole扩展,是swoole扩展的应用实例。 框架-Swoole扩展-Swoole文档中心 ...

    用swoole来实现Yarserver

    Yar是PHP开发的一个轻量级、高性能的RPC(远程过程调用)框架,而Swoole则是一个强大的PHP异步并行处理库,它可以提升PHP的网络通信和并发处理能力。 首先,让我们深入了解Yar。Yar由著名PHP开发者鸟哥(Laruence ...

    php开源商城系统,基于swoole、easyswoole框架开发.zip

    在PHP开源商城系统中,Swoole的使用可以优化数据库操作、API调用等耗时操作,提高系统的响应速度和用户体验。 二、EasySwoole框架:简化开发流程 EasySwoole是基于Swoole的一个轻量级、高性能的PHP框架,旨在降低...

    phpstorm远程调试基于swoole的hyperf框架.docx

    标题提及的文档主要介绍了如何使用PHPStorm进行远程调试基于Swoole扩展的Hyperf框架,同时提到了Swoft和Easyswoole等其他框架的远程调试方法。在这个过程中,文档强调了需要Linux环境,并提供了利用VirtualBox安装...

    基于php扩展swoole封装的一个简易的JSON协议的RPC框架

    JSON-RPC是一种轻量级的RPC协议,使用JSON作为数据交换格式,易于理解和实现。 3. **JSON协议**:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在...

    swoole4.x框架

    Swoole 4.x 框架是 PHP 开发者们的一个强大工具,它使得 PHP 能够扩展其功能,不仅限于传统的 Web 开发,还能深入到网络通信和服务器编程领域。Swoole 提供了一个高性能、异步、非阻塞的事件驱动模型,使得 PHP 在...

    Swoole框架PHP 异步网络通信引擎swoole-v5.1.2.zip

    2. API服务器:对于高并发的API接口,Swoole可以提供更快的响应速度和更高的吞吐量。 3. Websocket服务:Swoole的WebSocket服务器可以轻松处理大量用户的实时交互需求,如游戏服务器、在线教育等。 4. 调度任务:...

    基于swoole实现的自带httpserver的web开发框架

    使用Swoole构建的Web框架,能够确保这些接口的快速响应和高并发处理能力,从而满足现代互联网应用的需求。 基于Swoole的Web开发框架通常具有以下特点: 1. **异步非阻塞I/O**:Swoole扩展实现了事件驱动和异步编程...

    PHP高级Web开发框架Swoole深入解读+实战案例

    接下来我们将通过一个具体的案例——IM在线即时通讯系统的开发,来展示如何利用Swoole框架实现高效、稳定的实时通信服务。 1. **需求分析**:首先明确项目的目标用户群体、功能模块划分等内容。例如,在本例中我们...

    php支持swoole框架配置文件

    swoole 框架,一款比较实用的php框架模块,添加模块需要配置一下php的配置文件,本文件直接用于替换。

    swoole的远程debug调试.docx

    phpstorm2019远程调试swoole4.4.5 centos详细配置讲解,win10环境下安装,排除了可能跳进去的坑

    PHP进阶系列之swoole入门精讲

    Swoole应用: 学习如何在实际项目中使用Swoole框架,包括搭建WebSocket服务器、实现异步任务、处理大流量请求等应用场景。 性能优化: 掌握使用Swoole框架进行性能优化的方法和技巧,提高程序的响应速度和并发处理...

    Hyperf是基于Swoole43实现的高性能高灵活性的PHP持久化框架

    Hyperf 是基于 Swoole 4.3 实现的高性能、高灵活性的 PHP 持久化框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性

    毕业设计:基于PHP开源商城系统,基于swoole、easyswoole框架开发.zip

    基于swoole、easyswoole框架开发.zip" 提供了一个关于计算机科学与技术专业毕业设计的项目,该项目使用PHP编程语言构建了一个开源的在线商城系统,并结合了swoole和easyswoole这两个高效的PHP扩展框架。 首先,PHP...

    nsqtoswoole使用swoole扩展实现的一个NSQ强大php客户端

    【标题】:“nsqtoswoole使用swoole扩展实现的一个NSQ强大php...通过研究和使用这个客户端,开发者可以学习到如何在PHP环境中利用Swoole实现高性能的网络通信,以及如何设计和实现一个稳定的分布式消息处理客户端。

    Swoole框架 v5.1.2.zip

    Swoole框架 v5.1.2.zip

    swoole-yaf, 结合swoole扩展和Yaf框架,使用swoole的内置http_server.zip

    5. 监听事件:Swoole提供了一系列的事件监听接口,例如onRequest、onStart、onShutdown等。可以在这些事件中实现自定义逻辑,比如在启动时初始化数据库连接,在请求结束时关闭连接等。 四、示例代码 以下是一个...

    使用swoole实现tcp客户端

    使用swoole实现tcp客户端

    人工智能-项目实践-即时聊天-使用PHP+Swoole实现的网页即时聊天工具

    人工智能-项目实践-即时聊天-使用PHP+Swoole实现的网页即时聊天工具 使用PHP+Swoole4实现的网页即时聊天工具,在线体验地址:http://webim.swoole.com/ 基于Swoole4协程实现,可以同时支持数百万TCP连接在线 基于...

    swoole websocket实现五子棋

    【swoole websocket实现五子棋】 在IT领域,WebSocket是一种在客户端和服务器之间建立长连接的协议,常用于实时通信应用,如在线游戏、聊天室等。Swoole是PHP的一个扩展,它提供了高性能的异步、并行、事件驱动的...

Global site tag (gtag.js) - Google Analytics