当前位置: 首页 > 后端技术 > PHP

LaravelHproseRPC服务

时间:2023-03-29 18:28:07 PHP

开源地址:https://github.com/flc1125/la...本项目支持Laravel和非Laravel项目,支持php>=5.3版本语法注意:以下内容,你默认熟悉Hprose已经有了一定的了解。内容基于Laravel项目介绍。安装环境依赖hprose的C扩展。具体见:Hprose官网,HprosePeclextensionserver可以安装,客户端不需要安装peclinstallhprose安装扩展包composerrequireflc/laravel-hprose配置服务商和门面Laravel>=5.5已经添加包自动发现。老版本请在config/app.php文件下手动设置添加服务提供者'providers'=>[...Flc\Laravel\Hprose\HproseServiceProvider::class,]在config/下添加facade'app.php文件别名'=>[...'HproseRoute'=>Flc\Laravel\Hprose\Facades\HproseRoute::class,'HproseServer'=>Flc\Laravel\Hprose\Facades\HproseServer::class,'HproseClient'=>flc\Laravel\Hprose\Facades\HproseClient::class,]初始化文件phpartisanhprose:generator执行后,会分别生成如下文件:路由服务提供者:app/Providers/HproseRouteServiceProvider.php路由文件:routes/hprose.php(此路由文件不是Laravel路由,以下简称Hprose路由)Hprose路由控制器的根目录默认在app/Http/Controllers/Hprose目录下,可以在里面调整config/app.php文件在app/Providers/HproseRouteServiceProvider.php添加默认的Hprose路由服务provider'providers'=>[...app\Providers\HproseRouteServiceProvider::class,]发布配置phpartisanvendor:publish--provider="Flc\Laravel\Hprose\HproseServiceProvider"执行后会生成配置文件路径:/config/hprose.php使用配置说明配置文件路径:/config/hprose.php['default'=>'http','connections'=>['http'=>['protocol'=>'http',],],],'client'=>['default'=>'http','connections'=>array('http'=>array('protocol'=>'http','uri'=>'http://192.168.2.67:9001/api/server',//这里是服务器连接地址'异步'=>假,),),]];在当前版本中,除了客户端配置中的远程服务器地址外,其他配置可以默认配置。其他的提前支持swoole-http、tcp、websocket等。设置服务器,添加Laravel路由启动Http服务,如:start();}}访问:http://localhost/hprose-serverHprose路由配置option(['...']);Controller@tests的方法自定义客户端tests('tests');//其他连接$result=HproseClient::connection()->tests->one('tests');打印_r($结果);}}非Laravel项目使用服务端group(['prefix'=>'tests','namespace'=>'App\\Controllers'],function($router){$router->add('one','Controller@one');$router->add('two','Controller@two')->option(['...']);$router->group(['prefix'=>'group'],function($router){$router->add('one','Controller@group_one');...});});$app=['config'=>['hprose.server.default'=>'http','hprose.server.connections'=>['http'=>['协议'=>'http',],],],];$server=new\Flc\Laravel\Hprose\Server($app);$server->setRouter($router)->start();Client['hprose.client.default'=>'http','hprose.client.connections'=>['http'=>['协议'=>'http','uri'=>'http://localhost/server.php','async'=>false]]]];$client=new\Flc\Laravel\Hprose\Client($app);print_r($client->tests->one('222').PHP_EOL);捐赠如果您觉得本插件对您有帮助,请捐赠以示支持,谢谢~~微信支付宝...LicenseMIT