PHPRPC 简单示例
PHPRPC是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。
官方主页:http://www.phprpc.org/zh_CN/
官方网站有比较详尽的各种版本的使用介绍,上手还是比较快的。以下给出我的一个demo示例,从看文档到开发第一demo用了30分钟左右。
我使用的是java版本,前面的安装步骤不在重述了,看官方文档。
1.编写Service接口及实现类
public interface ServiceI { public String say(String name); public Errors showError(String info);}
public class FirstService implements ServiceI{ @Override public String say(String name) { String res = "Hello, "+name+" from PHPRPC"; return res; } public Errors showError(String info){ Errors er = null; er = new Errors(); er.setId("1111"); er.setMsg("phprpc make error:"+info); return er; }}
public class Errors implements Serializable{ private String id; private String msg; public Errors(){} public String getId() { return id; } public void setId(String id) { this.id = id; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
public class PhprpcGloabService extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { [b]PHPRPC_Server server = new PHPRPC_Server(); FirstService first = new FirstService(); server.add(first); server.start(req, res);[/b] } }
<!-- PHPRPC Web service发布 --> <servlet> <servlet-name>GloabService</servlet-name> <servlet-class> com.smartcoms.service.PhprpcGloabService </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>GloabService</servlet-name> <url-pattern>/rpcservice/*</url-pattern> </servlet-mapping>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="org.phprpc.*" %><%@ page import="com.smartcoms.web.UIElement.Errors" %><%@ page import="com.smartcoms.service.ServiceI" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Phprpc 调试</title></head><body><%PHPRPC_Client client = new PHPRPC_Client("http://localhost:8082/smartcoms/rpcservice/GloabService");ServiceI service = (ServiceI)client.useService(ServiceI.class);out.println(service.say("中国"));Errors er = service.showError("信息");out.println(er.getId());out.println(er.getMsg());%></body></html>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号