PHPackages                             wandoubaba/res - 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. wandoubaba/res

ActiveLibrary[API Development](/categories/api)

wandoubaba/res
==============

一个简单的Res模型，包含code、msg、data属性，可用于HTTP接口的返回值

v2.0.5(1y ago)0102MITPHPPHP &gt;=7.4

Since Aug 11Pushed 1y ago1 watchersCompare

[ Source](https://github.com/wandoubaba/res)[ Packagist](https://packagist.org/packages/wandoubaba/res)[ RSS](/packages/wandoubaba-res/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (4)Versions (11)Used By (0)

介绍
==

[](#介绍)

一个简单的Res模型，包含code、msg、data、time\_taked属性，可用于HTTP接口的返回值。

使用方法
----

[](#使用方法)

### 安装

[](#安装)

```
composer require wandoubaba/res ^2.0.0
```

使用

```
use Wandoubaba/Res;

$res = new Res();
$res->success()
    ->setData('Hello world.');
var_dump($res);
```

属性说明

```
{
    "code": 200,
    "msg": "操作成功",
    "data": "Hello world.",
    "time_taked": 0.000014066696166992188
}
```

属性类型举例说明codeint200状态码，默认200表示成功msgstring"操作成功"状态描述datamix"Hello world."返回数据，可以是任意类型time\_takeddouble0.000014066696166992188从后端res对象创建到返回结果期间消耗的时间，单位是秒### 内置code和msg

[](#内置code和msg)

```
const ERROR = 0;                // System Exception
const SUCCESS = 200;            // success
const FAILED = -1;              // 通用一般错误
const NOT_LOGED = 306;          // 自定义306表示未登录
const HEARTBEAT = 1;            // 自定义1表示心跳消息，可忽略
const NOT_FOUND = 404;          // 404错误
const INTERNAL_ERROR = 500;     // 500错误
const NOT_ALLOWED = 308;        // 自定义308表示没有权限
const NO_DATA = 407;            // 自定义407表示数据不存在
const LOGIN_FAILED = 301;       // 自定义301表示登录失败
const NO_CHANGE = 408;          // 自定义408表示无数据变化

const CODE_MESSAGES = array(
    self::ERROR => 'System Exception',
    self::SUCCESS => 'Success',
    self::FAILED => 'Failed',
    self::NOT_LOGED => 'Not Logged In',
    self::HEARTBEAT => 'Heartbeat',
    self::NOT_ALLOWED => 'Permission Denied',
    self::NOT_FOUND => 'Not Found',
    self::INTERNAL_ERROR => 'System Error',
    self::NO_DATA => 'No Data',
    self::LOGIN_FAILED => 'Login Failed',
    self::NO_CHANGE => 'No Change',
);
```

### 通过依赖注入实现自定义错误码

[](#通过依赖注入实现自定义错误码)

> 以 `webman`框架为例。

```
/* config/container.php */
$builder = new \DI\ContainerBuilder();
$builder->addDefinitions(config('dependence', []));
$builder->useAutowiring(true);
$builder->useAttributes(true);
return $builder->build();

/* config/dependence.php */
return [
    'code_messages' => app\biz\ResCode::CODE_MESSAGES,
];

/* app/utils/ResCode.php */
class ResCode
{
    const SUCCESS = 0;
    const FAILED = -1;
    const NOT_LOGED = 306;
    const TOKEN_ERROR = 309;

    const CODE_MESSAGES = [
        self::SUCCESS => '操作成功',
        self::FAILED => '操作失败',
        self::NOT_LOGED => '请先登录',
        self::TOKEN_ERROR => '令牌无效',

    ];
}

/* controller */
use Wandoubaba/Res;
use app\utils\ResCode;
use support\Container;

class TestController
{
    public function index(Request $request)
    {
        $res = Container::make(Res::class);
        $res->setCode(ResCode::TOKEN_ERROR);
        return json($res);
    }
}
```

### 参考

[](#参考)

关于依赖注入的详细资料请参考:

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~54 days

Recently: every ~2 days

Total

10

Last Release

568d ago

Major Versions

v1.1.1 → v2.0.02024-12-02

### Community

Maintainers

![](https://www.gravatar.com/avatar/49c2fab09c5bafc065faefc6b557a2427a833f5cb55b3b78a093ffe091e74719?d=identicon)[wandoubaba](/maintainers/wandoubaba)

---

Top Contributors

[![wandoubaba](https://avatars.githubusercontent.com/u/11456169?v=4)](https://github.com/wandoubaba "wandoubaba (13 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/wandoubaba-res/health.svg)

```
[![Health](https://phpackages.com/badges/wandoubaba-res/health.svg)](https://phpackages.com/packages/wandoubaba-res)
```

###  Alternatives

[respect/validation

The most awesome validation engine ever created for PHP

6.0k39.9M414](/packages/respect-validation)[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[api-platform/core

Build a fully-featured hypermedia or GraphQL API in minutes!

2.6k51.2M339](/packages/api-platform-core)[oro/platform

Business Application Platform (BAP)

645143.5k115](/packages/oro-platform)[showdoc/showdoc

ShowDoc is a tool greatly applicable for an IT team to share documents online

12.8k7.1k](/packages/showdoc-showdoc)[api-platform/state

API Platform state interfaces

274.9M136](/packages/api-platform-state)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
