kuborgh/csv-bundle

将数组转换为CSV格式,反之亦然。

v1.0.1 2016-09-07 11:47 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:36:57 UTC


README

[![构建状态][travis-image]][travis-url] [travis-url]: https://travis-ci.org/kuborgh/csv-bundle [travis-image]: https://secure.travis-ci.org/kuborgh/csv-bundle.svg?branch=master

此包旨在提供简单且符合rfc4180规范的CSV解析器和写入器。未来将扩展以适应更多自定义实现的需求。

安装

步骤1:下载包

打开命令行,进入项目目录,然后执行以下命令以下载此包的最新稳定版本

$ composer require kuborgh/csv-bundle

步骤2:启用包

然后,将包添加到项目中的注册包列表中,以启用该包,在项目的app/AppKernel.php文件中操作

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...

            new Kuborgh\CsvBundle\KuborghCsvBundle(),
        );

        // ...
    }

    // ...
}

配置

以下配置变量存在于项目中,可以将其插入到config.yml文件中

kuborgh_csv:
    parser:
        # Add here as many parser as you need. Each will get it's own service kuborgh_csv.parser.my_parser
        my_parser:
            # Delimiter (default: ",")
            delimiter: ","
            
            # Line Ending (default: "\r\n")
            line_ending: "\r\n"
            
            # Implementation for the parser. Possible values are "character" (default) oder "simple" (not recommended).
            # You can add your own parser implementation by registering the class name in parameters like  
            # kuborgh_csv.parser.<my_implementation>.class 
            implementation: character
    
    generator:
        # Add here as many generators as you need. Each will get it's own service kuborgh_csv.generator.my_generator
        my_generator:
            # Delimiter (default: ",")
            delimiter: ","
            
            # Line Ending (default: "\r\n")
            line_ending: "\r\n"
            
            # Implementation for the generator. Possible values are "string" (default) oder "php" (not recommended).
            # You can add your own generatr implementation by registering the class name in parameters like  
            # kuborgh_csv.generator.<my_implementation>.class 
            implementation: string

使用方法

要解析CSV,只需调用

$parser = $container->get('kuborgh_csv.parser.<my_parser>');
$array = $parser->parse($csv);

要生成CSV,只需调用

$generator = $container->get('kuborgh_csv.generator.<my_generator>');
$csv = $generator->generate($array);

测试

整个解析器应进行单元测试。您可以使用以下命令运行测试

$ composer install
$ bin/phpunit

覆盖率报告保存在coverage文件夹中,应始终覆盖100%