manhhuyvo/action-response
Composer 安装命令:
composer require manhhuyvo/action-response
包简介
A fluent, structured PHP action response class which supports messages, errors, and data.
README 文档
README
A lightweight and expressive response helper designed to provide a consistent structure when returning action results in PHP applications.
This package includes:
- A
Responseclass with a fluent API - A
ResponseStatusenum (success,error,snooze) - Convenience constructors (
success(),error(),snooze()) - Helpers for attaching messages, errors, data, and retrieving nested data via dot notation
📦 Installation
Install via Composer:
composer require manhhuyvo/action-response
🚀 Basic Usage
Create a success response
use ManhHuyVo\ActionResponse\Response; $response = Response::success() ->message('Action completed successfully.') ->data(['foo' => 'bar']); return $response;
Create an error response
$response = Response::error() ->message('Unable to process request.') ->errors(['Invalid input', 'Another error']); return $response;
Create a snooze response
Useful when the action should be skipped or is not applicable.
$response = Response::snooze() ->message('Skipping this action for now.'); return $response;
🧱 Response Structure
A Response object contains:
| Property | Type | Description |
|---|---|---|
status |
string | One of success, error, snooze |
message |
string | Optional explanation |
errors |
array | Unique list of errors (duplicates removed automatically) |
data |
array | Optional payload |
Example structure:
[
'status' => 'success',
'message' => 'Action completed successfully.',
'errors' => [],
'data' => [
'foo' => 'bar'
],
]
🔍 Status Checking
$response->isSuccessful(); // true / false $response->isError(); // true / false $response->isSnooze(); // true / false
🎯 Setting Values Manually
$response = (new Response()) ->status('success') ->message('Done') ->data(['x' => 1]) ->errors([]); return $response;
📥 Accessing Nested Data (Dot Notation)
If your data is nested:
$response = Response::success()->data([ 'user' => [ 'profile' => [ 'email' => 'john@example.com' ], ], ]);
You can fetch nested values:
$response->getData('user.profile.email'); // "john@example.com"
🧩 ResponseStatus Enum
enum ResponseStatus: string { case Success = 'success'; case Error = 'error'; case Snooze = 'snooze'; }
🧪 Running Tests
If you are developing locally, run PHPUnit:
vendor/bin/phpunit --testdox
📚 Example Usage in a Real Action
use ManhHuyVo\ActionResponse\Response; function processOrder(array $order): Response { if (empty($order)) { return Response::error() ->message('Order cannot be empty.') ->errors(['order_empty']); } if ($order['status'] === 'skipped') { return Response::snooze() ->message('Order skipped.'); } return Response::success() ->message('Order processed.') ->data(['id' => 123]); }
📝 License
MIT License.
manhhuyvo/action-response 适用场景与选型建议
manhhuyvo/action-response 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4 次下载、GitHub Stars 达 2, 最近一次更新时间为 2025 年 12 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 manhhuyvo/action-response 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 manhhuyvo/action-response 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 13
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2025-12-06