最新公告
  • 欢迎您光临立业阁,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 基于 hprose/hprose-php开发的Laravel扩展:laravel-hprosed的介绍_php框架教程


    本篇文章给大家带来的内容是关于基于 hprose/hprose-php开发的Laravel扩展:laravel-hprosed的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    基于 hprose/hprose-php 开发的Laravel扩展:laravel-hprose

    版本要求

    Laravel>=5.3

    安装

    composer require "zhuqipeng/laravel-hprose:v1.0-alpha"

    或者编辑composer.json

    "require": {
        "zhuqipeng/laravel-hprose": "v1.0-alpha"
    }

    配置

    1. 在 config/app.php 注册 ServiceProvider 和 Facade (Laravel 5.5 无需手动注册)

    'providers' => [
        // ...
    
        Zhuqipeng\LaravelHprose\ServiceProvider::class,
    ]
    'aliases' => [
        // ...
    
        'LaravelHproseMethodManage' => Zhuqipeng\LaravelHprose\Facades\HproseMethodManage::class,
    ]
    1. 配置.env文件

    监听地址列表,字符串json格式数组

    HPROSE_URIS=["tcp://0.0.0.0:1314"]

    是否启用demo方法,true开启 false关闭,开启后将自动对外发布一个远程调用方法 demo

    客户端可调用:$client->demo()

    HPROSE_DEMO=true // true or false
    1. 创建配置路由文件:

    php artisan vendor:publish --provider="Zhuqipeng\LaravelHprose\ServiceProvider"

    应用根目录下的config目录下会自动生成新文件hprose.php

    应用根目录下的routes目录下会自动生成新文件rpc.php

    使用

    路由

    laravel 路由的用法相似,基于 dingo/api 的路由代码上做了简单修改

    路由文件

    routes/rpc.php

    添加路由方法

    \LaravelHproseRouter::add(string $name, string|callable $action, array $options = []);
    • string $name 可供客户端远程调用的方法名

    • string|callable $action 类方法,格式:[email protected]

    • array $options 是一个关联数组,它里面包含了一些对该服务函数的特殊设置,详情请参考hprose-php官方文档介绍 链接

    发布远程调用方法 getUserByNameupdate

    \LaravelHproseRouter::add('getUserByName', function ($name) {
        return 'name: ' . $name;
    });
    
    \LaravelHproseRouter::add('userUpdate', 'App\Controllers\[email protected]', ['model' => \Hprose\ResultMode::Normal]);

    控制器

    <?php
    
    namespace App\Controllers;
    
    class User
    {
        public function update($name)
        {
            return 'update name: ' . $name;
        }
    }

    客户端调用

    $client->getUserByName('zhuqipeng');
    $client->userUpdate('zhuqipeng');

    路由组

    \LaravelHproseRouter::group(array $attributes, callable $callback);
    • array $attributes 属性 ['namespace' => '', 'prefix' => '']

    • callable $callback 回调函数

    \LaravelHproseRouter::group(['namespace' => 'App\Controllers'], function ($route) {
        $route->add('getUserByName', function ($name) {
            return 'name: ' . $name;
        });
    
        $route->add('userUpdate', '[email protected]');
    });

    客户端调用

    $client->getUserByName('zhuqipeng');
    $client->userUpdate('zhuqipeng');

    前缀

    \LaravelHproseRouter::group(['namespace' => 'App\Controllers', 'prefix' => 'user'], function ($route) {
        $route->add('getByName', function ($name) {
            return 'name: ' . $name;
        });
    
        $route->add('update', '[email protected]');
    });

    客户端调用

    $client->user->getByName('zhuqipeng');
    $client->user->update('zhuqipeng');
    // 或者
    $client->user_getByName('zhuqipeng');
    $client->user_update('zhuqipeng');

    启动服务

    php artisan hprose:socket_server

    相关推荐:

    Laravel框架路由配置总结、设置技巧大全,laravel框架

    Laravel框架中扩展函数、扩展自定义类的方法,laravel框架

    以上就是基于 hprose/hprose-php开发的Laravel扩展:laravel-hprosed的介绍的详细内容,更多请关注liyege.cn其它相关文章!

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 1009会员总数(位)
    • 111838资源总数(个)
    • 7本周发布(个)
    • 0 今日发布(个)
    • 210稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    冀ICP备19022365号-1 百度地图

    侵权联系邮箱[email protected]

    立业阁(www.liyege.cn)免费提供wordpress主题模板、dedecms模板、帝国cms模板、小说网站源码、电影网站源码以及网络技术分享,建站源码,小说模板,电影模板,网赚教程,VPS推荐