目次
バージョン要件
インストール
設定
使用
路由
ホームページ PHPフレームワーク Laravel hprose/hprose-php に基づいて開発された Laravel 拡張機能: laravel-hprosed の紹介

hprose/hprose-php に基づいて開発された Laravel 拡張機能: laravel-hprosed の紹介

Aug 28, 2018 pm 05:01 PM

この記事の内容は 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を登録し、ファサード (Laravel 5.5 手動登録は不要)

'providers' => [
    // ...

    Zhuqipeng\LaravelHprose\ServiceProvider::class,
]
ログイン後にコピー
'aliases' => [
    // ...

    'LaravelHproseMethodManage' => Zhuqipeng\LaravelHprose\Facades\HproseMethodManage::class,
]
ログイン後にコピー
  1. Configuration.env ファイル

リスニングアドレスリスト、文字列 json 形式の配列

HPROSE_URIS=["tcp://0.0.0.0:1314"]
ログイン後にコピー

デモメソッドを有効にするかどうか、有効にする場合は true、閉じる場合は false、有効にすると、自動的に外部に公開されます リモート呼び出しメソッド demo を公開します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 类方法,格式:AppControllersUser@update

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

发布远程调用方法 getUserByNameupdate

クライアントは次を呼び出すことができます: $client->demo()

\LaravelHproseRouter::add('getUserByName', function ($name) {
    return 'name: ' . $name;
});

\LaravelHproseRouter::add('userUpdate', 'App\Controllers\User@update', ['model' => \Hprose\ResultMode::Normal]);
ログイン後にコピー

configuration を作成しますroute</code > ファイル: <p></p><ul class=" list-paddingleft-2"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>&lt;?php namespace App\Controllers; class User { public function update($name) { return &amp;#39;update name: &amp;#39; . $name; } }</pre><div class="contentsignin">ログイン後にコピー</div></div><li> 新しいファイル <code>hprose.phpconfig ディレクトリに自動的に生成されます。アプリケーション ルート ディレクトリ

routes< アプリケーション ルート ディレクトリの下に新しいファイル <code>rpc.php が /code> ディレクトリに自動的に生成されます
  • routing の使用方法
  • は < と似ていますcode>laravel ルーティング、dingo/api のルーティング コードに基づいています 簡単な変更を行いました

    ルーティング ファイル

    $client->getUserByName(&#39;zhuqipeng&#39;);
    $client->userUpdate(&#39;zhuqipeng&#39;);
    ログイン後にコピー
    ログイン後にコピー

    ルーティング メソッドを追加しました

    \LaravelHproseRouter::group(array $attributes, callable $callback);
    ログイン後にコピー

    string $name によってリモートで呼び出すことができるメソッド名client

    string|呼び出し可能な $action クラス メソッド、形式: AppControllersUser@update

    array $options はサービス関数の特別な設定を含む連想配列です。詳細については、hprose-php を参照してください。公式ドキュメント紹介リンク

    🎜リモート呼び出しメソッドgetUserByNameupdateを公開🎜
    \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;);
    });
    ログイン後にコピー
    🎜Controller🎜
    $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;);
    ログイン後にコピー
    🎜🎜🎜array $attributes 属性 ['namespace' => '', 'prefix' => ' ']🎜🎜🎜🎜呼び出し可能な $callback コールバック関数🎜🎜🎜
    php artisan hprose:socket_server
    ログイン後にコピー
    🎜クライアント呼び出し🎜rrreee🎜プレフィックス🎜rrreee🎜クライアント呼び出し🎜rrreee🎜サービスの開始🎜rrreee🎜 関連する推奨事項: 🎜🎜🎜Laravel フレームワークのルーティング構成の概要、設定 スキルのコレクション、laravel フレームワーク 🎜🎜🎜🎜🎜 laravel フレームワークで関数を拡張し、カスタム クラスを拡張するメソッド、laravel フレームワーク 🎜🎜

    以上がhprose/hprose-php に基づいて開発された Laravel 拡張機能: laravel-hprosed の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    Laravelのコンポーネントを使用して再利用可能なUI要素を作成するにはどうすればよいですか? Laravelのコンポーネントを使用して再利用可能なUI要素を作成するにはどうすればよいですか? Mar 17, 2025 pm 02:47 PM

    この記事では、コンポーネントを使用してLaravelで再利用可能なUI要素の作成とカスタマイズについて説明し、組織のベストプラクティスを提供し、パッケージを強化することを提案します。

    Laravelでカスタムブレードディレクティブを作成および使用するにはどうすればよいですか? Laravelでカスタムブレードディレクティブを作成および使用するにはどうすればよいですか? Mar 17, 2025 pm 02:50 PM

    この記事では、Laravelでカスタムブレードディレクティブの作成と使用を行い、テンプレートを強化します。ディレクティブの定義、テンプレートでそれらを使用し、大規模なプロジェクトでそれらを管理することをカバーし、改善されたコードの再利用性やRなどの利点を強調しています

    Laravelでカスタム検証ルールを作成して使用するにはどうすればよいですか? Laravelでカスタム検証ルールを作成して使用するにはどうすればよいですか? Mar 17, 2025 pm 02:38 PM

    この記事では、Laravelでカスタム検証ルールの作成と使用について説明し、それらを定義および実装する手順を提供します。再利用性や特異性などの利点を強調し、Laravelの検証システムを拡張する方法を提供します。

    Laravelの職人コンソールを使用して一般的なタスクを自動化するにはどうすればよいですか? Laravelの職人コンソールを使用して一般的なタスクを自動化するにはどうすればよいですか? Mar 17, 2025 pm 02:39 PM

    Laravelの職人コンソールは、コードの生成、移行の実行、スケジューリングなどのタスクを自動化します。重要なコマンドには、Make:Controller、Migrate、およびDB:Seedが含まれます。特定のニーズに合わせてカスタムコマンドを作成し、ワークフロー効率を向上させることができます。

    Laravelのルーティング機能を使用して、SEOに優しいURLを作成するにはどうすればよいですか? Laravelのルーティング機能を使用して、SEOに優しいURLを作成するにはどうすればよいですか? Mar 17, 2025 pm 02:43 PM

    この記事では、Laravelのルーティングを使用してSEOに優しいURLを作成し、Best Practice、Canonical URL、SEO最適化のツールをカバーします。ワード数:159

    どちらが良いのか、DjangoとLaravel? どちらが良いのか、DjangoとLaravel? Mar 28, 2025 am 10:41 AM

    DjangoとLaravelはどちらもフルスタックのフレームワークです。 DjangoはPython開発者や複雑なビジネスロジックに適していますが、LaravelはPHP開発者とエレガントな構文に適しています。 1.DjangoはPythonに基づいており、迅速な発展と高い並行性に適した「バッテリーコンプリート」哲学に従います。 2. LaravelはPHPに基づいており、開発者エクスペリエンスを強調しており、小規模から中規模のプロジェクトに適しています。

    Laravelでデータベーストランザクションを使用してデータの一貫性を確保するにはどうすればよいですか? Laravelでデータベーストランザクションを使用してデータの一貫性を確保するにはどうすればよいですか? Mar 17, 2025 pm 02:37 PM

    この記事では、Laravelでデータベーストランザクションを使用して、データの一貫性を維持し、DBファサードと雄弁なモデルを使用した方法の詳細、ベストプラクティス、例外処理、およびトランザクションの監視とデバッグのためのツールについて説明します。

    アプリケーションのパフォーマンスを改善するために、Laravelにキャッシュを実装するにはどうすればよいですか? アプリケーションのパフォーマンスを改善するために、Laravelにキャッシュを実装するにはどうすればよいですか? Mar 17, 2025 pm 02:35 PM

    この記事では、ララヴェルでキャッシュを実装して、パフォーマンスを高め、構成をカバーし、キャッシュファサード、キャッシュタグ、原子操作を使用して、パフォーマンスをカバーします。また、キャッシュ構成のベストプラクティスの概要を説明し、キャッシュするデータの種類を提案します

    See all articles