Heim > PHP-Framework > Laravel > Hauptteil

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

不言
Freigeben: 2018-08-28 17:01:04
Original
3059 Leute haben es durchsucht

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
Nach dem Login kopieren

Installieren Sie

composer require "zhuqipeng/laravel-hprose:v1.0-alpha"
Nach dem Login kopieren

oder bearbeiten Sie Composer. json

"require": {
    "zhuqipeng/laravel-hprose": "v1.0-alpha"
}
Nach dem Login kopieren

Konfiguration

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

'providers' => [
    // ...

    Zhuqipeng\LaravelHprose\ServiceProvider::class,
]
Nach dem Login kopieren
'aliases' => [
    // ...

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

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

HPROSE_URIS=["tcp://0.0.0.0:1314"]
Nach dem Login kopieren

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
Nach dem Login kopieren
  1. Erstellen Sie 配置 und 路由Datei:

php artisan vendor:publish --provider="Zhuqipeng\LaravelHprose\ServiceProvider"
Nach dem Login kopieren

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

<🎜 generiert >

-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
Nach dem Login kopieren

Routing-Methode hinzufügen

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

  • 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(&#39;getUserByName&#39;, function ($name) {
    return &#39;name: &#39; . $name;
});

\LaravelHproseRouter::add(&#39;userUpdate&#39;, &#39;App\Controllers\User@update&#39;, [&#39;model&#39; => \Hprose\ResultMode::Normal]);
Nach dem Login kopieren

Controller

<?php

namespace App\Controllers;

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

Der Client ruft

$client->getUserByName(&#39;zhuqipeng&#39;);
$client->userUpdate(&#39;zhuqipeng&#39;);
Nach dem Login kopieren
Nach dem Login kopieren

routing group

\LaravelHproseRouter::group(array $attributes, callable $callback);
Nach dem Login kopieren

  • 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;);
    });
    Nach dem Login kopieren
Client-Aufruf

$client->getUserByName(&#39;zhuqipeng&#39;);
$client->userUpdate(&#39;zhuqipeng&#39;);
Nach dem Login kopieren
Nach dem Login kopieren

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;);
});
Nach dem Login kopieren

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;);
Nach dem Login kopieren

Dienst starten

php artisan hprose:socket_server
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage