youngmayor / app-response
为Laravel应用程序提供统一、易于使用的响应的Laravel包
1.1.0
2022-07-12 20:48 UTC
Requires
- php: ^7.2|^8.0
- illuminate/support: ~6|~7|~8|~9
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
这是一个为我们的应用程序提供统一响应的简单Laravel包。
安装
您可以通过composer安装此包
composer require youngmayor/app-response
用法
该包使用自动发现,因此如果您使用Laravel 5.5或更高版本,则安装包将自动在您的应用程序中注册。
但是,如果您使用Laravel 5.4或以下版本,您需要将以下片段添加到您的config/app.php
以注册服务提供者和别名
'providers' => [ // ... YoungMayor\AppResponse\AppResponseServiceProvider, // ... ], 'aliases' => [ // ... "AppResponse": "YoungMayor\AppResponse\Facade\AppResponse" // ... ],
现在,您可以使用以下方法之一将包添加到我们的控制器操作中
- 注入API响应助手
// ... use YoungMayor\AppResponse\API; // ... class SampleController extends Controller { public function sampleMethod(API $api) { // ... return $api->success("Action was successful"); } }
- 注入Web响应助手
// ... use YoungMayor\AppResponse\Web; // ... class SampleController extends Controller { public function sampleMethod(Web $web) { // ... return $web->success("Action was successful"); } }
- 注入自动响应助手
// ... use YoungMayor\AppResponse\Auto; // ... class SampleController extends Controller { public function sampleMethod(Auto $auto) { // ... return $auto->success("Action was successful"); } }
- 使用包外观
// ... use YoungMayor\AppResponse\Facade\AppResponse; // or use AppReponse; // this utilises the Facade aliase // ... class SampleController extends Controller { public function sampleMethod() { // ... return AppResponse::success("Action was successful"); } }
- 使用辅助函数
class SampleController extends Controller { public function sampleMethod() { // ... return appResponse()->success("Action was successful"); // for automatic response // or return appResponse()->api->success("Action was successful"); // for API only resppnse // or return appResponse()->web->success("Action was successful"); // for Web only resppnse } }
响应类型
该包提供两种响应形式,Web和API。它还提供一个自动响应器,如果存在Accept: application/json
头部,则作为API响应,如果头部不存在,则作为Web响应。
API响应
这返回一个JSON响应
示例
{ "status": "success", "statusCode": 200, "message": "Action was successful", "data": { "name": "Foo Bar", "email": "foobar@example.com" } }
Web响应
可以通过将
app-response.render-web-as-view
配置设置为false来完全关闭Web响应。可以使用以下命令发布配置文件php artisan vendor:publish --provider="YoungMayor\AppResponse\AppResponseServiceProvider" --tag="config"
Web响应也可以自定义。要在根目录下发布视图,请在应用程序终端运行以下代码
php artisan vendor:publish --provider="YoungMayor\AppResponse\AppResponseServiceProvider"
更新日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过youngmayor.dev@gmail.com发送电子邮件,而不是使用问题跟踪器。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。
Laravel包模板
此包是用Laravel包模板生成的。