kuborgh / csv-bundle
将数组转换为CSV格式,反之亦然。
v1.0.1
2016-09-07 11:47 UTC
Requires
- symfony/framework-bundle: ~2.3|~3.0
Requires (Dev)
- phpunit/phpunit: ~4.8
- symfony/property-access: ~2.3|~3.0
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%