asimlqt / mailchimp-export
导出 Mailchimp 列表的库
1.0
2018-01-26 15:04 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: ~6.0
This package is not auto-updated.
Last update: 2024-09-20 22:07:07 UTC
README
一个简单的导出 Mailchimp 列表的库
需要 PHP >= 7
安装
使用以下 composer 命令安装
composer require asimlqt/mailchimp-export
示例
以下是一个示例,导出一个 mailchimp 列表并将其保存为 csv 文件。
<?php require_once './vendor/autoload.php'; use Asimlqt\MailchimpExport\MailchimpException; use Asimlqt\MailchimpExport\ListExport; use Asimlqt\MailchimpExport\Writer\CsvWriter; $writer = new CsvWriter(new SplFileObject("/my/path/list.csv", "w")); try { $exp = new ListExport($apiKey, $listId, $writer); $exp->run(); } catch (MailchimpException $e) { echo $e->getMessage(); }
作者
目前默认提供了 2 位作者
CSV 写入器
见上面的示例。
数据库写入器
注意:在写入之前将截断指定的表!
这比 csv 写入器需要更多的配置。
构造函数的定义如下
public function __construct(PDO $pdo, string $table, array $mapping)
$pdo
是一个标准的 php pdo 连接对象。
$table
是你想要写入的表名
$mapping
是一个数组,它将 mailchimp 字段映射到数据库列。数组的键是 mailchimp 字段的名称,值是数据库列。
使用数据库写入器的示例
<?php require_once './vendor/autoload.php'; use Asimlqt\MailchimpExport\MailchimpException; use Asimlqt\MailchimpExport\ListExport; use Asimlqt\MailchimpExport\Writer\DatabaseWriter; $mapping = [ 'Email Address' => 'email', 'First Name' => 'firstname', 'Last Name' => 'lastname', ]; $pdo = new PDO('mysql:dbname=mailchimp;host=127.0.0.1', 'user', 'password'); $writer = new DatabaseWriter($pdo, 'subscribers', $mapping); try { $exp = new ListExport($apiKey, $listId, $writer); $exp->run(); } catch (MailchimpException $e) { echo $e->getMessage(); }
在上面的示例中,'Email Address'、'First Name' 和 'Last Name' 是 mailchimp 字段的名称,'email'、'firstname' 和 'lastname' 是要写入的数据库列。CsvWriter
只是将所有内容写入 csv 文件,因此不需要映射。
数据以批量的形式插入到数据库中。默认大小为 100 行。你可以使用 DatabaseWriter
的 setBatchSize()
方法将其设置为不同的值。
自定义写入器
如果你需要将数据写入其他地方,只需扩展 Writer
接口(它只有一个方法),并将其传递给 ListExport
构造函数。
interface Writer { public function write(array $data); }