pragmaticweb/pragmatic-drupal7-importer

将Drupal 7数据导入WordPress的开发框架。

v0.1.1 2020-07-27 09:55 UTC

This package is auto-updated.

Last update: 2024-09-12 22:24:58 UTC


README

Pragmatic 项目创建。

Version 0.1.0-dev License: GPL 3.0 only

将Drupal 7数据导入WordPress的开发框架。

要求

使用要求

确保您已安装所需的软件

安装

  1. 使用Composer将此插件添加到您的项目中:composer require pragmaticweb/pragmatic-drupal7-importer
  2. 像通常一样激活插件,并通过WP-CLI使用它。

该插件假定存在一个名为wordpress_test的数据库,并且可以使用WordPress的wp-config.php文件中的凭据访问。如果您将进行PHPUnit测试,则需要手动确保数据库存在。

使用过滤器pragmatic.drupal7_importer.map_drupal_roles_to_wp.roles_mapping来映射Drupal用户角色与WordPress用户角色的映射方式。

开发流程

贡献

此插件主要遵循标准的 Git Flow 模型。

开发发生在功能分支上,这些分支合并到develop,最终合并到master以部署到生产环境。在做出更改时,应创建一个从develop分支的分支(并且相应的拉取请求应使用develop作为目标分支)。

理念

PHP文件应该要么声明符号(类、函数等),要么运行代码(函数调用等),但不能两者兼具。一般来说,每个插件只应有一个文件运行代码。

只有当没有更好的方法来包含这些文件时,才允许对require语句进行例外处理。例如,一个命名空间文件可能需要为子命名空间包含命名空间文件,因为PHP没有一种方法来自动加载命名空间化的函数。

对于主要是动作和过滤器回调的命名空间化函数,通常应将add_action/filter调用放在命名空间中的bootstrap()函数中。这允许在立即添加钩子之前加载文件,但仍然允许钩子声明与回调一起存在。

例如,对于一个名为"pragmatic-coffee"的插件,其命名空间为Pragmatic\Coffee,目录结构应如下所示

  • plugin.php – 声明自动加载器并运行引导函数。
  • inc/ – 包含Pragmatic\Coffee命名空间的PHP代码。
    • functions.php – 在Pragmatic\Coffee命名空间中声明函数和常量。
    • class-cup.php – 声明Pragmatic\Coffee\Cup类。
    • beans.php – 在Pragmatic\Coffee\Beans命名空间中声明函数和常量。(适用于更简单的插件)
  • sweeteners/ – 包含子命名空间Pragmatic\Coffee\Sweeteners。(适用于更复杂的插件)
    • functions.php – 在Pragmatic\Coffee\Sweeteners命名空间中声明函数和常量。
    • class-sugar.php – 声明Pragmatic\Coffee\Sweeteners\Sugar类。

插件结构

此插件维护基本的文件结构。主要区域包括

  • plugin.php – 主要插件加载器。
  • inc/ – PHP。
  • tests/ – 测试文件。

inc/目录中,文件应根据命名空间组织成层次结构。如果命名空间只包含函数,则文件名应为functions.php

如果一个命名空间还包含类,请将这些类与命名空间文件一起放在一个{子命名空间}/目录中。该命名空间的主要功能文件为{子命名空间}/functions.php,而类应放在以class-开头并以“简写”的类名命名的文件中。

脚本和工具

  • composer run tests -- 运行以下所有任务
    • composer run test:phpunit -- 运行PHPUnit测试。
  • composer run lint -- 运行以下所有任务
    • composer run lint:phpcs -- 使用PHP代码检查工具和PHPCS检查PHP质量。