sinemacula/laravel-resource-exporter

一个通用的Laravel包,用于将JsonResource和JsonResourceCollection对象导出为多种格式,支持自定义驱动。

v1.0.1 2024-08-22 01:04 UTC

This package is auto-updated.

Last update: 2024-09-22 01:12:10 UTC


README

Latest Stable Version Build Status StyleCI Maintainability Test Coverage Total Downloads

Laravel Resource Exporter是一个通用的包,允许将Laravel的JsonResource和JsonResourceCollection对象无缝转换为各种可导出格式。该包旨在提供可扩展性,允许您通过基于驱动的架构轻松添加自定义导出格式。

特性

  • 格式灵活性:使用可自定义的驱动将资源导出为各种格式,便于扩展或适应新的格式。
  • 基于驱动的架构:每个导出格式由专门的驱动类处理,确保代码清晰、可维护和可扩展。
  • 外观支持:利用直观的外观轻松访问导出功能,简化资源转换过程。

支持的驱动

  • CSV
  • XML

安装

要在项目中安装Laravel Resource Exporter,请在项目目录中运行以下命令

composer require sinemacula/laravel-resource-exporter

配置

安装后,发布包配置以根据您的需求进行自定义

php artisan vendor:publish --provider="SineMacula\Exporter\ExporterServiceProvider"

此命令将包配置文件发布到您的应用程序配置目录,允许您修改诸如可用的导出格式、驱动配置等。

使用方法

Laravel Resource Exporter提供了一个易于使用的接口用于导出资源。以下是一个导出资源或集合的示例

use SineMacula\Exporter\Facades\Exporter;
use App\Http\Resources\YourResource;

// Export an item as CSV
$csv = Exporter::format('csv')->exportItem(new YourResource($item));

// Export a collection as XML
$xml = Exporter::format('xml')->exportCollection(YourResource::collection($collection));

贡献

欢迎贡献并会得到充分认可。我们接受通过GitHub上的拉取请求进行贡献。

安全

如果您发现任何安全相关的问题,请通过电子邮件而不是使用问题跟踪器。

许可证

Laravel Resource Exporter仓库是开源软件,根据Apache许可证,版本2.0授权。