Package Data | |
---|---|
Maintainer Username: | Laoliu |
Maintainer Contact: | Laoliu@lanmv.com (Laoliu) |
Package Create Date: | 2016-12-24 |
Package Last Update: | 2017-12-26 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2025-02-02 03:10:41 |
Package Statistics | |
---|---|
Total Downloads: | 1,182 |
Monthly Downloads: | 6 |
Daily Downloads: | 0 |
Total Stars: | 20 |
Total Watchers: | 2 |
Total Forks: | 3 |
Total Open Issues: | 0 |
Hprose https://github.com/hprose
HPROSE
is a High Performance Remote Object Service Engine.
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.
# composer
composer require lao-liu/laravel-hprose
# 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
# config/hprose.php
use RpcClient as Rpc;
$result = Rpc::someServerMethod($params);
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();
});
# app/Http/Middleware/VerifyCsrfToken.php
[...]
protected $except = [
'api' // OR 'api*'
];
Done.
# 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;
$rpc = app('RpcClient')->useService('http://hproseServiceUrl/', $async);
$result = $rpc->remoteMethods($params);
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();
});
Please refer to https://github.com/hprose/hprose-php