dropelikeit/laravel-responsefactory

一个基于 jms/serializer 的 Laravel 响应工厂

1.0.0 2024-09-29 18:55 UTC

This package is auto-updated.

Last update: 2024-09-29 18:59:21 UTC


README

Gitworkflow Coverage Status Monthly Downloads Daily Downloads Total Downloads Latest Stable Version License composer.lock Mutation testing badge

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。

非常感谢您的支持!