2017 © Pedro Peláez
 

library laravel-hprose

Hprose client/server providers for Laravel 5.x or Lumen 5.x

image

lao-liu/laravel-hprose

Hprose client/server providers for Laravel 5.x or Lumen 5.x

  • Tuesday, December 26, 2017
  • by Laoliu
  • Repository
  • 1 Watchers
  • 10 Stars
  • 155 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 4 Versions
  • 32 % Grown

The README.md

Hprose for laravel and lumen 5.x

Hprose https://github.com/hprose, (*1)

HPROSE is a High Performance Remote Object Service Engine., (*2)

It is a modern, lightweight, cross-language, cross-platform, object-oriented, high performance, remote dynamic communication middleware. It is not only easy to use, but powerful., (*3)

Installation

# composer
composer require lao-liu/laravel-hprose

For Laravel 5.x

Configuration

# edit app/config/app.php
# include the provider
'providers' => [
    [...]
    Laoliu\LaravelHprose\HproseServiceProvider::class,
];

# include the alias
'aliases' => [
    [...]
    'RpcClient'    => Laoliu\LaravelHprose\HproseClientFacade::class,
    'RpcServer'    => Laoliu\LaravelHprose\HproseServerFacade::class,
    'RpcService'   => Laoliu\LaravelHprose\HproseServiceFacade::class,
];

# Laravel config
php artisan vendor:publish --provider="Laoliu\LaravelHprose\HproseServiceProvider"

config file, (*4)

# config/hprose.php

Usage for laravel

Hprose client

use RpcClient as Rpc;
$result = Rpc::someServerMethod($params);

Hprose server

Route::any('/api', function() {
    $server = app('RpcServer');

    // Hprose support XmlRPC and JsonRPC
    // if want support XmlRpc
    $server->addFilter(new Hprose\Filter\XMLRPC\ServiceFilter());
    // if want support JsonRpc
    $server->addFilter(new Hprose\Filter\JSONRPC\ServiceFilter());

    $server->addInstanceMethods(new \App\Services\SomeHprosePublishServices());
    $server->start();
});

Middleware setting

# app/Http/Middleware/VerifyCsrfToken.php
[...]
protected $except = [
    'api' // OR 'api*'
];

Done., (*5)

For Lumen 5.x

Configuration

# edit bootstrap/app.php
$app->register(Laoliu\LaravelHprose\HproseServiceProvider::class);

[...]

class_alias('Laoliu\LaravelHprose\HproseClientFacade', 'RpcClient');
class_alias('Laoliu\LaravelHprose\HproseServerFacade', 'RpcServer');
class_alias('Laoliu\LaravelHprose\HproseServiceFacade', 'RpcService');

return $app;

Usage for lumen

Hprose client

$rpc = app('RpcClient')->useService('http://hproseServiceUrl/', $async);
$result = $rpc->remoteMethods($params);

Hprose server

Route::any('/api', function() {
    $server = app('RpcServer');

    // Hprose support XmlRPC and JsonRPC
    // if want support XmlRpc
    $server->addFilter(new Hprose\Filter\XMLRPC\ServiceFilter());
    // if want support JsonRpc
    $server->addFilter(new Hprose\Filter\JSONRPC\ServiceFilter());

    $server->addInstanceMethods(new \App\Services\SomeHprosePublishServices());
    $server->start();
});

API Reference

Please refer to https://github.com/hprose/hprose-php, (*6)

The Versions

26/12 2017

dev-master

9999999-dev

Hprose client/server providers for Laravel 5.x or Lumen 5.x

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Laoliu

laravel lumen jsonrpc rpc webservice xmlrpc hprose

27/12 2016

0.9.1

0.9.1.0

Hprose client/server providers for Laravel 5.x or Lumen 5.x

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Laoliu

laravel lumen jsonrpc rpc webservice xmlrpc hprose

26/12 2016

0.9.0

0.9.0.0

Hprose client/server providers for Laravel 5.x or Lumen 5.x

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Laoliu

laravel lumen jsonrpc rpc webservice xmlrpc hprose

25/12 2016

0.8.6

0.8.6.0

Hprose client/server providers for Laravel 5.x

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar Laoliu

laravel jsonrpc rpc xmlrpc hprose