1. 客户端(client)代码(记得该引入的文件记得引入,我这边是用Yii框架且composer安装Hprose,会自动加载所以没有写引入的代码)
public function actionHprose()
{
$client = \Hprose\Http\Client::create('http://127.0.0.1:905/hprose.php', false);
echo $client->hello()."----";
echo $client->foo('Hprose Second !')."----";
echo $client->thirdFoo()."----";
}
成功的标志:如图所示
2. 服务端(server)代码(如用框架,得将csrf,七七八八验证关掉,不然客户端不能成功访问)
①简单的函数
<?php
require_once "../vendor/autoload.php";
$server = new \Hprose\Http\Server();
//函数一
function hello()
{
return 'Hello Hprose!';
}
//函数二
function foo($name)
{
return 'Hello '.$name;
}
//函数三
function thirdFoo()
{
return 'Hello Hprose!';
}
$server->addFunctions(array('hello', 'foo'));//同时发布两个函数
$server->addFunction('thirdFoo');//发布一个函数
$server->start();
成功的标志(如图所示):
②类的静态函数和对象实例的方法
//类的静态方法和对象实例的方法
class HproseTest {
//类的静态方法
static function foo1()
{
return 'foo';
}
function hello()
{
return 'Hello Hprose!';
}
};
$server->addMethod('foo1', 'HproseTest');
$server->addMethod('hello', new HproseTest());
$server->start();
成功的标志(如图所示):