定制 netsells/csvme 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

netsells/csvme

最新稳定版本:1.1.0

Composer 安装命令:

composer require netsells/csvme

包简介

An opinionated library to make exporting data in CSV format super simple.

README 文档

README

Latest Version Software License Total Downloads

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

GitHub 信息

  • Stars: 4
  • Watchers: 0
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-08-06

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固