soluti / data-exporter-bundle
一个提供将数据导出到常见格式的通用接口的包
dev-master
2017-01-24 09:12 UTC
Requires
- php: >=7.0.0
- symfony/symfony: ~2.8|~3.0
This package is not auto-updated.
Last update: 2021-10-11 00:07:23 UTC
README
一个提供将数据导出到常见格式的通用接口的包。
目前它只支持CSV。将来可能会添加更多适配器。
安装
A) 下载并安装
要安装SolutiDataExporterBundle,请运行以下命令
$ php composer.phar require soluti/data-exporter-bundle
B) 启用包
在内核中启用所需的包
<?php
// app/AppKernel.php
public function registerBundles()
{
...
new Soluti\DataExporterBundle\SolutiDataExporterBundle(),
...
}
使用方法
1. 定义您的数据映射器
namespace AppBundle\Export;
use AppBundle\Model\Client;
use Soluti\DataExporterBundle\Mapper\MapperInterface;
class UserMapper implements MapperInterface
{
public function getFileName()
{
return 'users' . '_' . date('Y-m-d_H-i');
}
/**
* @param User $user
* @return array
*/
public function map($user)
{
return [
'id' => $user->getId(),
'firstName' => $user->getFirstName(),
'lastName' => $user->getLastName(),
'email' => $user->getEmail(),
];
}
}
2. 在控制器中创建响应
public function exportAction()
{
$usersIterator = []; // Some iterable result
$exporter = $this->get('soluti.data_exporter.adapter.csv');
return $exporter->export($usersIterator, new UserMapper());
}