下面由laravel教程栏目给大家介绍关于 laravel hprose rpc 服务,希望对需要的朋友有所帮助!
Laravel Hprose RPC 服务
开源地址:https://github.com/flc1125/laravel-hprose
该项目支持 Laravel 及非 Laravel 项目使用,支持 php >= 5.3 版本语法
注: 以下内容,默认你对 Hprose 已经有了一定了解。内容基于 Laravel 项目介绍。
安装
环境依赖 C 扩展 hprose,详见:Hprose 官网、Hprose Pecl 扩展
服务端安装即可,客户端可不安装
pecl install hprose
安装扩展包
composer require flc/laravel-hprose
配置
服务提供者与门面
Laravel >= 5.5已增加包自动发现。旧版本,请手动设置
在 config/app.php 文件下加入服务提供者
'providers' => [ ... FlcLaravelHproseHproseServiceProvider::class,]
在 config/app.php 文件下加入门面
'aliases' => [ ... 'HproseRoute' => FlcLaravelHproseFacadesHproseRoute::class, 'HproseServer' => FlcLaravelHproseFacadesHproseServer::class, 'HproseClient' => FlcLaravelHproseFacadesHproseClient::class,]
初始化文件
php artisan hprose:generator
执行完成后,会分别生成以下文件:
路由服务提供者:app/Providers/HproseRouteServiceProvider.php
路由文件:routes/hprose.php (该路由文件非 Laravel 路由,下文简称 Hprose 路由)
Hprose 路由控制器根目录默认在:
app/Http/Controllers/Hprose目录下,可自行在app/Providers/HproseRouteServiceProvider.php调整
在 config/app.php 文件下加入默认的 Hprose 路由服务提供者
帮衣帮-AI服装设计
AI服装设计神器,AI生成印花、虚拟试衣、面料替换
106 查看详情
'providers' => [ ... appProvidersHproseRouteServiceProvider::class,]
发布配置
php artisan vendor:publish --provider="FlcLaravelHproseHproseServiceProvider"
执行后,会生成配置文件路径:/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', // 此处为服务端的连接地址 'async' => false, ), ), ]];
目前版本,除客户端配置中的远程服务器地址外,其他配置默认即可
其他均为后续支持
swoole-http、tcp、websocket等,做提前架设
服务端
增加一个 Laravel 路由,用于启动 Http 服务,如:
<?phpRoute::any('hprose-server', 'HproseController@server');
对应控制器:
start(); }}
访问:http://localhost/hprose-server
Hprose 路由配置
option(['...']);
Controller@tests的方法自行定义
客户端
tests('tests'); // 其他连接 $result = HproseClient::connection()->tests->one('tests'); print_r($result); }}
非 Laravel 项目使用
服务端
group(['prefix' => 'tests', 'namespace' => 'AppControllers'], 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' => [ 'protocol' => 'http', ], ], ],];$server = new FlcLaravelHproseServer($app);$server->setRouter($router)->start();
客户端
[ 'hprose.client.default' => 'http', 'hprose.client.connections' => [ 'http' => [ 'protocol' => 'http', 'uri' => 'http://localhost/server.php', 'async' => false ] ] ]];$client = new FlcLaravelHproseClient($app);print_r($client->tests->one('222').PHP_EOL);
以上就是关于 Laravel Hprose RPC 服务的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/347288.html
微信扫一扫
支付宝扫一扫