pragmaticweb / pragmatic-drupal7-importer
将Drupal 7数据导入WordPress的开发框架。
Requires
- php: >=7.3
- composer/installers: ~1.7
- humanmade/hm-content-import: dev-master
Requires (Dev)
- brainmaestro/composer-git-hooks: ~2.8
- humanmade/coding-standards: ~0.7
- overtrue/phplint: ~1.2
- phpunit/phpunit: ~8.5
- wp-phpunit/wp-phpunit: ~5.3
This package is auto-updated.
Last update: 2024-09-12 22:24:58 UTC
README
由 Pragmatic 项目创建。
将Drupal 7数据导入WordPress的开发框架。
要求
使用要求
确保您已安装所需的软件
安装
- 使用Composer将此插件添加到您的项目中:
composer require pragmaticweb/pragmatic-drupal7-importer
。 - 像通常一样激活插件,并通过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
命名空间中声明函数和常量。(适用于更简单的插件)
- functions.php – 在
- sweeteners/ – 包含子命名空间
Pragmatic\Coffee\Sweeteners
。(适用于更复杂的插件)- functions.php – 在
Pragmatic\Coffee\Sweeteners
命名空间中声明函数和常量。 - class-sugar.php – 声明
Pragmatic\Coffee\Sweeteners\Sugar
类。
- functions.php – 在
插件结构
此插件维护基本的文件结构。主要区域包括
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质量。