dropelikeit / laravel-responsefactory
一个基于 jms/serializer 的 Laravel 响应工厂
1.0.0
2024-09-29 18:55 UTC
Requires
- php: ^8.3
- ext-fileinfo: *
- illuminate/contracts: ^11.0
- illuminate/http: ^11.0
- illuminate/support: ^11.0
- jms/serializer: ^3.30
- webmozart/assert: ^1.11
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.52
- infection/infection: ^0.27.10
- larastan/larastan: ^2.9
- laravel/framework: ^v11.0
- orchestra/testbench: ^9.0
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.5
- psalm/plugin-laravel: ^2.10
- psalm/plugin-phpunit: ^0.19
- roave/security-advisories: dev-latest
- symfony/cache: ^7.0
- vimeo/psalm: ^5.23
This package is auto-updated.
Last update: 2024-09-29 18:59:21 UTC
README
Laravel 响应工厂
响应工厂是 laravel-jms-serializer 包的后续版本,专注于这一点。在响应工厂中使用 JMS 序列化器来创建 Laravel 响应,从而保持 OOP 环境,不在控制器中使用函数或自己的响应对象。此外,应确保所有内容都以面向对象的方式处理,直到输出。
JMS-Serializer: https://github.com/schmittjoh/serializer
安装
composer require dropelikeit/laravel-responsefactory
支持说明
如何使用
Laravel 使用包自动发现,因此您无需手动添加服务提供者。
例如,要在控制器中使用响应工厂,只需在构造函数中插入响应工厂。
<?php namespace App\Http\Controller; use Dropelikeit\ResponseFactory\Http\Responses\ResponseFactory; use Symfony\Component\HttpFoundation\JsonResponse; final class ExampleController extends Controller { public function __construct(private ResponseFactory $responseFactory) {} public function myAction(): JsonResponse { $myDataObjectWithSerializerAnnotations = new Object('some data'); return $this->responseFactory->create($myDataObjectWithSerializerAnnotations); } }
使用命令发布响应工厂配置
php artisan vendor:publish
之后,您将在配置文件夹中看到一个名为 "responsefactory.php" 的配置文件。
升级
这是第一个稳定版本,因此没有必要阅读升级指南。
文档
贡献
通过问题跟踪器报告错误、增强请求或其他建议,帮助我们改进此项目。
在创建问题跟踪器后,还可以创建一个包含对问题引用的 PR。
非常感谢您的支持!