netsells/csvme
最新稳定版本:1.1.0
Composer 安装命令:
composer require netsells/csvme
包简介
An opinionated library to make exporting data in CSV format super simple.
README 文档
README
Csvme is an opinionated library that utilises the league/csv library.
It is created and maintained by the Netsells team
Install
Install Csvme using Composer.
$ composer require netsells/csvme
Usage
Basic Usage
Csvme always expects an array of objects and optionally a layout closure for the header row.
$csv = new Csvme(); $csv->withHeader(['ID', 'Total', 'Number of Items', 'Created At']) ->withLayout(function(Order $order) { return [ $order->id, $order->total, $order->items->count(), $order->created_at->format('d-m-Y'), ]; }) ->withItems($orders) ->output();
CSV Composers
It is possible to use an external class to offload the layout of the CSV to a dedicated file.
$csv = new Csvme(); $csv->output(new OrderExportComposer($orders));
<?php use Netsells\Csvme\Csvme; use Netsells\Csvme\CsvComposer; class OrderExportComposer implements CsvComposer { /** * The orders. * * @var array */ protected $orders; /** * Create a new csv composer. * * @param array $orders * @return void */ public function __construct($orders) { $this->orders = $orders; } /** * Configure the CSV * * @param Csvme $csv * @return void */ public function compose(Csvme $csv) { $csv->withHeader(['ID', 'Total', 'Number of Items', 'Created At']) ->withLayout(function(Order $order) { return [ $order->id, $order->total, $order->items->count(), $order->created_at->format('d-m-Y'), ]; }) ->withItems($this->orders); } }
CORS Headers
When using Csvme in api endpoints, you can add the Access-Control-Allow-Origin header using the setCorsHeader() method.
The method defaults to allow all origins but a specific origin can be passed in as an argument in the following way.
$csv = new Csvme(); $csv->withHeader(['ID', 'Total', 'Number of Items', 'Created At']) ->withLayout(function(Order $order) { return [ $order->id, $order->total, $order->items->count(), $order->created_at->format('d-m-Y'), ]; }) ->withItems($orders) ->setCorsHeader('https://test.com') ->output();
统计信息
- 总下载量: 5.5k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 2
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-08-06