PHPackages                             swoolecan/hyperf-resource - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. swoolecan/hyperf-resource

ActiveLibrary[API Development](/categories/api)

swoolecan/hyperf-resource
=========================

A api resource component for hyperf.(based https://github.com/fangx-packages/hyperf-resource)

035PHP

Since Aug 4Pushed 4y agoCompare

[ Source](https://github.com/swoolecan/hyperf-resource)[ Packagist](https://packagist.org/packages/swoolecan/hyperf-resource)[ RSS](/packages/swoolecan-hyperf-resource/feed)WikiDiscussions main Synced 5d ago

READMEChangelogDependenciesVersions (2)Used By (0)

API 资源 - 支持返回 Grpc 响应的资源扩展
==========================

[](#api-资源---支持返回-grpc-响应的资源扩展)

安装
--

[](#安装)

```
composer req fangx/resource

```

简介
--

[](#简介)

当构建 API 时，你往往需要一个转换层来联结你的 Model 模型和实际返回给用户的 JSON 响应。资源类能够让你以更直观简便的方式将模型和模型集合转化成 JSON。

生成资源
----

[](#生成资源)

你可以使用 `gen:resource` Artisan 命令来生成一个资源类。默认情况下生成的资源都会被放置在应用程序的 `app/Resource` 文件夹下。资源继承自 `Fangx\Resource\Json\JsonResource` 类：

```
php bin/hyperf.php gen:resource User
```

### 资源集合

[](#资源集合)

除了生成资源转换单个模型外，你还可以生成资源集合用来转换模型的集合。这允许你在响应中包含与给定资源相关的链接与其他元信息。

你需要在生成资源时添加 `--collection` 标志以生成一个资源集合。或者，你也可以直接在资源的名称中包含 `Collection` 表示应该生成一个资源集合。资源集合继承自 `Fangx\Resource\Json\ResourceCollection` 类：

```
php bin/hyperf.php gen:resource Users --collection

php bin/hyperf.php gen:resource UserCollection
```

### Grpc 资源

[](#grpc-资源)

支持转化Grpc资源.

```
php bin/hyperf.php gen:resource User --grpc
```

Grpc 资源需要设置 `message` 类. 通过重写该资源类的 `expect()` 方法来实现.

Grpc 服务返回时, 必须调用 `toMessage()`. 该方法会返回一个实例化的 `message` 类.

```
