widefocus / feed-csv-writer
此软件包包含写入CSV馈送的实现。
1.0.0
2017-04-29 08:43 UTC
Requires
- php: ^7.0
- league/csv: ^8.1
- league/flysystem: ^1.0
- widefocus/feed-writer: ^1.0
- widefocus/feed-writer-builder: ^1.0
- widefocus/parameters: ^1.0
Requires (Dev)
- phpunit/phpunit: ^6.0
This package is not auto-updated.
Last update: 2024-09-24 23:45:10 UTC
README
此软件包包含写入CSV馈送的模式。
安装
使用composer安装软件包。
$ composer require widefocus/feed-csv-writer
用法
首先创建一个作家工厂
<?php use WideFocus\Feed\CsvWriter\CsvWriterFactory; use WideFocus\Feed\CsvWriter\LeagueCsv\LeagueCsvWriterFactory; use League\Flysystem\MountManager; use League\Flysystem\Filesystem; use League\Flysystem\Adapter\Local; $mountManager = new MountManager( ['local' => new Filesystem(new Local('/tmp'))] ); $writerFactory = new CsvWriterFactory( new LeagueCsvWriterFactory(), $mountManager );
然后根据参数和字段创建一个作家
<?php use WideFocus\Parameters\ParameterBag; use WideFocus\Feed\Writer\WriterField; $parameters = new ParameterBag([ 'destination' => 'local://my-feed.csv', 'include_header' => true ]); $writer = $writerFactory->create( $parameters, new WriterField('foo', 'Foo'), new WriterField('bar', 'Bar', 'strtoupper') );
然后写入馈送
<?php use ArrayIterator; use ArrayObject; $items = new ArrayIterator( [ new ArrayObject(['foo' => 'FooValue', 'bar' => 'BarValue']), new ArrayObject(['foo' => 'AnotherFooValue', 'bar' => 'AnotherBarValue']) ] ); $writer->write($items);
这将生成一个包含以下内容的文件 /tmp/my-feed.csv
Foo,Bar
FooValue,BARVALUE
AnotherFooValue,ANOTHERBARVALUE