civicrm/civicrm-setup

该软件包已被废弃且不再维护。未建议替代软件包。

CiviCRM安装库

v0.4.1 2020-01-30 08:42 UTC

This package is auto-updated.

Last update: 2021-08-29 01:54:31 UTC


README

civicrm-setup 是一个用于编写 CiviCRM 安装程序的库。它旨在支持多种安装程序,例如 CLI 命令 cvcv core:installcv core:uninstall)或针对 CMS 的基于 Web 的安装程序(例如 civicrm-drupalcivicrm-wordpress)。

总体设计

  • 安装程序调用高级 API(Civi\Setup),该 API 支持所有主要的安装任务/活动 -- 例如
    • 检查系统要求($setup->checkRequirements()
    • 检查安装状态($setup->checkInstalled()
    • 安装数据文件($setup->installFiles()
    • 安装数据库($setup->installDatabase()
  • 一个 数据模型Civi\Setup\Model)列出了所有标准配置参数。在执行每个任务时,此数据模型都可用。例如,它包括
    • CiviCRM 代码的路径($model->srcPath
    • 系统语言($model->lang
    • 数据库凭证($model->db
  • 每个主要任务对应一个 事件 -- 例如
    • 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 设置。

关键特性

  • 该库可以被其他项目(如 cvcivicrm-drupalcivicrm-wordpress)使用,以提供安装过程。
  • 它是一个飞跃。它可以与旧安装程序共存,并且它位于一个独立的项目/仓库中,可以可选部署。
    • 例如:CiviCRM 与 WordPress 的集成正在逐步支持新的安装程序。默认情况下,它使用旧安装程序。如果您创建一个文件 civicrm/.use-civicrm-setup,则它将使用新安装程序。
  • 它具有最小外部依赖。 (CiviCRM 及其依赖项的代码库必须可用 -- 但不需要其他任何东西。)

文档