nmcteam / migration
一个将内容从源迁移到目的地的迁移框架
0.1.0
2014-01-04 20:02 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- mockery/mockery: dev-master@dev
This package is not auto-updated.
Last update: 2024-09-10 06:04:05 UTC
README
此微型框架旨在使用源(提供可迭代内容)、过滤器(操作内容)和动作(对内容执行某些操作)将内容从源迁移到目的地。
如何安装
使用Composer安装此框架。在你的composer.json
文件中
{
"require": {
"nmcteam/migration": "~0.1.0"
}
}
然后运行composer install
。
入门指南
在此示例中,我们创建了一个工作,该工作会回显一组URL的HTML内容。我们的“源”是一个自定义迭代器,它返回\NMC\Migration\Object
实例。我们使用一个过滤器将源HTML减少到仅包含<body>
标签的标记。我们使用“动作”回显HTML内容。
<?php
// Source
$source = new \NMC\Migration\Source\UrlArray(['http://www.apple.com', 'https://php.ac.cn']);
// Job
$job = new \NMC\Migration\Job($source);
// Filter
$filter = new \NMC\Migration\Filter\MatchReduce('#<body[^>]+>(.+)</body>#', 1);
$job->addFilter($filter);
// Action
$action = new \NMC\Migration\Action\Imitate();
$job->addAction($action);
// Run job
$job->run();
什么是工作?
“工作”是一组源、过滤器和动作。它将迭代源,并将其过滤器和动作应用于源提供的每个对象。
什么是源?
“源”是一个迭代器,其current()
方法返回\NMC\Migration\ObjectInterface
的实例。源迭代的内容和方式完全由你决定。
什么是过滤器?
“过滤器”是一个接收\NMC\Migration\ObjectInterface
实例的对象,并操纵对象的内容。对对象的更改是通过引用执行的。
什么是动作?
“动作”是一个接收\NMC\Migration\ObjectInterface
实例的对象,并对此对象执行某些操作。动作可以是简单的echo
,也可以使用对象创建新的数据库对象、将新页面插入CMS或以各种格式(例如CSV或JSON)生成新数据。
如何贡献
- 分叉此存储库。
- 为每个新功能创建单独的分支。
- 从每个功能分支提交拉取请求。
所有拉取请求都必须遵守PSR-2代码风格指南。每个拉取请求还必须附带通过PHPUnit测试。
作者
版权所有©2014 New Media Campaigns。
许可
MIT公共许可证。