su-sws / stanford_install_tasks
Drupal 功能。
Requires
- composer/installers: ^1.2
This package is auto-updated.
Last update: 2023-07-28 03:21:19 UTC
README
版本:7.x-1.8-dev
iTasks 安装任务
一组小型代码块。
与iTasks 安装配置文件结合使用,提供粒度化的安装任务。
理论
只做一件事。并且做好!这个代码集合背后的概念是每个文件只做一件事。这样任何事物发生的变化量都是最小的。更小的足迹有助于封装和解耦。
这个代码集合应该是可共享和可重用的。保持任务名称良好并使用命名空间将有助于减少重复工作以及多个方共同贡献共享代码库时的冲突。
创建新的命名空间
在为您的安装配置文件创建新命名空间时,请保持独特性。组织名称、URL 或组可能有所帮助。对我们斯坦福来说,我们有很多子组,并创建了一个多级命名空间:例如:Stanford\WebServices\Jumpstart\JumpstartAcademic
此命名空间将用于斯坦福网络服务组的 Jumpstart Academic 发行版,来自 Jumpstart 发行线。
请遵循 PSR-4 命名约定:http://www.php-fig.org/psr/psr-4/
创建新的安装任务
请遵循 PSR-4 命名约定:http://www.php-fig.org/psr/psr-4/
安装任务应始终放置在 Install
文件夹中,并描述性地命名。安装任务文件应始终与类名同名。类应始终扩展 \ITasks\AbstractInstallTask。AbstractInstallTask 类位于安装配置文件中,而不是在此存储库中。每个安装任务都有一个名为 execute
的必需方法。请参阅下面的样板代码。
<?php
/**
* @file
* Abstract Task Class
*/
namespace Organization\Group\Project\Install;
use \ITasks\AbstractInstallTask;
class MyInstallTaskName extends AbstractInstallTask {
/**
* Description of execute method.
*
* @param array $args
* Installation arguments.
*/
public function execute(&$args = array()) {
// Enable user picture support and set the default to a square thumbnail option.
variable_set('user_pictures', '1');
}
/**
* A list of requirements.
*/
public function requirements() {
return array(
'user',
);
}
}
创建新的更新任务
请遵循 PSR-4 命名约定:http://www.php-fig.org/psr/psr-4/
更新任务应始终放置在 Update
文件夹中,并描述性地命名。更新任务文件应始终与类名同名。类应始终扩展 \ITasks\AbstractUpdateTask。AbstractUpdateTask 类位于安装配置文件中,而不是在此存储库中。每个更新任务都有一个名为 execute
的必需方法,并应包含一个 $description 变量。请参阅下面的样板代码。
<?php
/**
* @file
* Abstract Task Class.
*/
namespace Organization\Group\Project;
use \ITasks\AbstractUpdateTask;
/**
*
*/
class MyUpdateTask extends AbstractUpdateTask {
// Description of update task.
protected $description = "Change the site name to my new site name";
/**
* Description of execute task.
*
* @param array $args
* Installation arguments.
*/
public function execute(&$args = array()) {
variable_set("site_name", "My New Site Name IS: " . md5(time()));
}
}
安装任务结构
变量
$displayName
string
在安装过程中通过 UI 显示的名称
$display
bool
是否在 UI 中显示名称。
$installType
string
查看类型:https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_install_tasks/7.x
$installRun
整型
参见运行: https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_install_tasks/7.x
$installFunction
string
必须是 "itasks_run_install_task"
$description 文本
对安装任务所执行操作的描述。目前不会在任何地方显示,但有计划在将来使用它。
方法
execute(&$args)
必需。传入的 $args 是一个数组,包含通常可提供给安装任务的安装任务参数。参见: https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_install_tasks/7.x
这是整个类的核心部分。在这里添加您特定的功能。
requirements()
返回一个数组,包含此安装任务的依赖模块机名。
getMachineName()
返回此任务的机名。
setMachineName()
设置此任务的机名。
InstallTasksAlter(&$tasks)
传入的参数是安装任务数组。此函数允许任务修改安装任务数组。这意味着它们可以条件性地更改顺序、添加或删除任务。
getDisplayName()
返回 $displayName 的值或未定义时的类名。
getInstallDisplay()
返回 $display 的值。
getRunType()
返回 $installRun 的值。
getInstallType()
返回 $installType 的值。
getInstallFunction()
返回 $installFunction 的值。
setDescription($desc)
使用传入的值设置 $description 的值。
getDescription()
返回 $description 的值或未设置时的默认文本。
form()
返回要添加到安装配置表单的表单元素。此表单通过 UI 使用,应在此处提供您的变量。这些表单元素通过 drush 的参数:installation_configuration_form.element_name=something_value 可用。
validate()
安装配置表单方法的验证钩子。
submit()
安装配置表单方法的提交钩子。