安吉家 / thrift-laravel
在 Laravel 中使用 Thrift
0.2.13
2016-09-19 07:23 UTC
Requires
- php: >=7.0.0
- angejia/thrift: ^0.9.3.4
- illuminate/http: 5.1.*|5.2.*
- illuminate/support: 5.1.*|5.2.*
- symfony/http-foundation: 2.7.*|2.8.*|3.0.*
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.0
README
在 Laravel 中使用 Thrift
如何使用
服务器端
-
composer require angejia/thrift-laravel
-
在
app.providers
中添加提供者\Angejia\Thrift\ThriftServiceProvider::class
-
在文件
config/thrift.php
中设置thrift.providers
// first is service name, defined in thrift file // second in Service implement reference, e.g. // class ImageServcie implement \Angejia\ImageServiceIf ['Angejia.ImageService', \Angejia\ImageService::class],
-
将中间件
\Angejia\Thrift\Middleware\ThriftServerMiddleware::class
添加到app\Http\Kernel
默认情况下,对
/rpc
的请求将由中间件处理,如果您想更改此设置,请扩展ThriftServerMiddleware
并重写process
方法
客户端
composer require angejia/thrift-laravel
- 在
app.providers
中添加提供者\Angejia\Thrift\ThriftServiceProvider::class
- 在文件
config/thrift.php
中设置thrift.depends
// key is url // value is array of service name "http://localhost/rpc" => [ 'Angejia.ImageService', ]
- 用法
/** @var \Angejia\Thrift\Contracts\ThriftClient $thriftClient */ $thriftClient = app(\Angejia\Thrift\Contracts\ThriftClient::class); /** @var \Angejia\ImageServiceIf $imageService */ $imageService = $thriftClient->with('Angejia.ImageService'); $result = $imageService->foo();
待办事项
- 单元测试