civicrm / civicrm-setup
该软件包已被废弃且不再维护。未建议替代软件包。
CiviCRM安装库
v0.4.1
2020-01-30 08:42 UTC
Requires
- psr/log: ~1.0
- symfony/event-dispatcher: ^2.6.13 || ~3.0
README
civicrm-setup
是一个用于编写 CiviCRM 安装程序的库。它旨在支持多种安装程序,例如 CLI 命令 cv
(cv core:install
和 cv core:uninstall
)或针对 CMS 的基于 Web 的安装程序(例如 civicrm-drupal
或 civicrm-wordpress
)。
总体设计
- 安装程序调用高级 API(Civi\Setup),该 API 支持所有主要的安装任务/活动 -- 例如
- 检查系统要求(
$setup->checkRequirements()
) - 检查安装状态(
$setup->checkInstalled()
) - 安装数据文件(
$setup->installFiles()
) - 安装数据库(
$setup->installDatabase()
)
- 检查系统要求(
- 一个 数据模型(Civi\Setup\Model)列出了所有标准配置参数。在执行每个任务时,此数据模型都可用。例如,它包括
- CiviCRM 代码的路径(
$model->srcPath
) - 系统语言(
$model->lang
) - 数据库凭证(
$model->db
)
- CiviCRM 代码的路径(
- 每个主要任务对应一个 事件 -- 例如
civi.setup.checkRequirements
civi.setup.checkInstalled
civi.setup.installFiles
civi.setup.installDatabase
- 插件(
plugins/*/*.civi-setup.php
)与模型和事件一起工作。例如- 插件
init/WordPress.civi-setup.php
在初始化期间运行(civi.setup.init
)。它读取 WordPress 配置(例如get_locale()
和DB_HOST
),然后更新模型($model->lang
和$model->db
)。 - 插件
installDatabase/SetLanguage.civi-setup.php
在安装数据库时运行(civi.setup.installDatabase
)。它读取$model->lang
并更新各种 Civi 设置。
- 插件
关键特性
- 该库可以被其他项目(如
cv
、civicrm-drupal
、civicrm-wordpress
)使用,以提供安装过程。 - 它是一个飞跃。它可以与旧安装程序共存,并且它位于一个独立的项目/仓库中,可以可选部署。
- 例如:CiviCRM 与 WordPress 的集成正在逐步支持新的安装程序。默认情况下,它使用旧安装程序。如果您创建一个文件
civicrm/.use-civicrm-setup
,则它将使用新安装程序。
- 例如:CiviCRM 与 WordPress 的集成正在逐步支持新的安装程序。默认情况下,它使用旧安装程序。如果您创建一个文件
- 它具有最小外部依赖。 (CiviCRM 及其依赖项的代码库必须可用 -- 但不需要其他任何东西。)