Heim >PHP-Framework >Laravel >Laravel-Erweiterung basierend auf hprose/hprose-php entwickelt: Einführung in laravel-hprosed

Laravel-Erweiterung basierend auf hprose/hprose-php entwickelt: Einführung in laravel-hprosed

不言
不言Original
2018-08-28 17:01:043071Durchsuche

Der Inhalt dieses Artikels befasst sich mit der auf hprose/hprose-php basierenden Laravel-Erweiterung, die einen gewissen Referenzwert hat. Ich hoffe, dass sie hilfreich ist du hilfst.

Laravel-Erweiterung basierend auf hprose/hprose-php entwickelt: laravel-hprose

Versionsanforderungen

Laravel>=5.3

Installieren Sie

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

oder bearbeiten Sie Composer. json

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

Konfiguration

  1. ServiceProvider und Facade in config/app.php registrieren (Laravel 5.5 erfordert keine manuelle Registrierung)

'providers' => [
    // ...

    Zhuqipeng\LaravelHprose\ServiceProvider::class,
]
'aliases' => [
    // ...

    'LaravelHproseMethodManage' => Zhuqipeng\LaravelHprose\Facades\HproseMethodManage::class,
]
  1. Configuration.env-Datei

Liste der Abhöradressen, String-JSON-Format-Array

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

Gibt an, ob die Demo-Methode aktiviert werden soll enable, false zum Schließen, enable Danach kann eine Remote-Aufrufmethode demo

vom Client aufgerufen werden: $client->demo()

HPROSE_DEMO=true // true or false
  1. Erstellen Sie 配置 und 路由Datei:

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

Eine neue Datei wird automatisch im Verzeichnis config im Stammverzeichnis der Anwendung hprose.php

-Verzeichnis unter dem Stammverzeichnis der Anwendung. Unten wird automatisch eine neue Datei generiert. routesrpc.php

Verwendung von

-Routing

und

-Routing sind in der Verwendung ähnlich , mit einfachen Änderungen am Routing-Code basierend auf Dingo/API laravel

Routing-Datei

routes/rpc.php

Routing-Methode hinzufügen

\LaravelHproseRouter::add(string $name, string|callable $action, array $options = []);

  • string $name Der Methodenname das vom Client aus der Ferne aufgerufen werden kann

  • string|callable $action class method, format: AppControllersUser@update

  • array $options ist ein Assoziatives Array, das einige spezielle Einstellungen für die Servicefunktion enthält. Einzelheiten finden Sie im Einführungslink zum offiziellen Dokument von hprose-php

Remote-Aufrufmethode veröffentlichen

und getUserByName update

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

\LaravelHproseRouter::add('userUpdate', 'App\Controllers\User@update', ['model' => \Hprose\ResultMode::Normal]);

Controller

<?php

namespace App\Controllers;

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

Der Client ruft

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

routing group

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

  • array $attributes attributes ['namespace' => '', 'prefix' => '']

  • aufrufbare $callback-Rückruffunktion

  • \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-Aufruf

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

Präfix

\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-Aufruf

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

Dienst starten

php artisan hprose:socket_server

Verwandte Empfehlungen:

Laravel-Framework-Routing-Konfigurationszusammenfassung und Einstellungstipps, Laravel-Framework

Erweiterungsfunktionen und Methoden zur Erweiterung benutzerdefinierter Klassen im Laravel-Framework, Laravel-Framework

Das obige ist der detaillierte Inhalt vonLaravel-Erweiterung basierend auf hprose/hprose-php entwickelt: Einführung in laravel-hprosed. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn