首頁 >php框架 >Laravel >基於 hprose/hprose-php開發的Laravel擴展:laravel-hprosed的介紹

基於 hprose/hprose-php開發的Laravel擴展:laravel-hprosed的介紹

不言
不言原創
2018-08-28 17:01:043084瀏覽

這篇文章帶給大家的內容是關於基於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. ##建立

    設定路由檔案:

  2. 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 類別方法,格式:AppControllersUser@update
  • array $options 是關聯數組,它裡麵包含了一些對該服務函數的特殊設置,詳情請參考hprose-php官方文件介紹連結
  • 發布遠端呼叫方法
getUserByName

update<pre class="brush:php;toolbar:false;">\LaravelHproseRouter::add(&amp;#39;getUserByName&amp;#39;, function ($name) { return &amp;#39;name: &amp;#39; . $name; }); \LaravelHproseRouter::add(&amp;#39;userUpdate&amp;#39;, &amp;#39;App\Controllers\User@update&amp;#39;, [&amp;#39;model&amp;#39; =&gt; \Hprose\ResultMode::Normal]);</pre>控制器

<?php

namespace App\Controllers;

class User
{
    public function update($name)
    {
        return &#39;update name: &#39; . $name;
    }
}

客戶端呼叫

$client->getUserByName(&#39;zhuqipeng&#39;);
$client->userUpdate(&#39;zhuqipeng&#39;);

路由群組

\LaravelHproseRouter::group(array $attributes, callable $callback);

    array $attributes 屬性['namespace' => '', 'prefix' => '']
  • callable $callback 回呼函數
  • \LaravelHproseRouter::group([&#39;namespace&#39; => &#39;App\Controllers&#39;], function ($route) {
        $route->add(&#39;getUserByName&#39;, function ($name) {
            return &#39;name: &#39; . $name;
        });
    
        $route->add(&#39;userUpdate&#39;, &#39;User@update&#39;);
    });
  • 客戶端呼叫
$client->getUserByName(&#39;zhuqipeng&#39;);
$client->userUpdate(&#39;zhuqipeng&#39;);

前綴

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

    $route->add(&#39;update&#39;, &#39;User@update&#39;);
});

客戶端呼叫

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

啟動服務

php artisan hprose:socket_server

相關推薦:

Laravel框架路由配置總結、設定技巧大全,laravel框架


Laravel框架中擴充函數、擴充自訂類別的方法,laravel框架

以上是基於 hprose/hprose-php開發的Laravel擴展:laravel-hprosed的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn