nmcteam/migration

一个将内容从源迁移到目的地的迁移框架

0.1.0 2014-01-04 20:02 UTC

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)生成新数据。

如何贡献

  1. 分叉此存储库。
  2. 为每个新功能创建单独的分支。
  3. 从每个功能分支提交拉取请求。

所有拉取请求都必须遵守PSR-2代码风格指南。每个拉取请求还必须附带通过PHPUnit测试。

作者

版权所有©2014 New Media Campaigns

许可

MIT公共许可证。