您的位置:首页 > 编程语言 > Python开发

RPC利器——PHPRPC(解决PHP调用python问题)

2012-03-29 21:12 681 查看
最近在毕设中要用php调用python的接口,在网上找到的一些解决方案都是通过调用OS的系统命令,及也就是用类似这样的方式system('python test.py');执行python的文件。这与调用exe的方式是一样的。这样做固然简单方便,但却有个很大的问题,就是不能与python写的函数进行交互,因为这样没办法传参数。我google到一种方法是说像通过类似命令行后的参数的形式传递参数,但经过考证并不合适。思来想去,虽然感觉貌似多此一举,但利用PHPRPC的方式实现会让开发变得非常舒服,使PHP与python差不多实现了无缝连接。下面简单说一下PHPRPC这个东西。

虽然名叫PHPRPC,但却不是说只针对PHP这一种语言,通过官网(http://phprpc.org/zh_CN/)我们可以发现几乎支持当下各大主流编程语言。而且调用起来非常简便。以我的例子来说,我要用PHP来调用python的接口,可以这样做。开一个新的端口(比如8089)来运行python构造的server,demo代码如下:

from phprpc import PHPRPC_Server # 引入 PHPRPC Server

import datetime

def helloworld()

return'helloworld'

def hi(name):

return'hi %s' % name

server = PHPRPC_Server()

server.add(helloworld)

server.add('hi')

server.add(hi, 'hello')

server.add(datetime.datetime.now)

server.debug = True

server.start()

然后在php中创建client,

$client = new PHPRPC_Client();

$client->setProxy(NULL);

$client->useService('http://localhost:8089');

$client->helloworld()

具体详细的内容请登录官网查看文档。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: