niji-digital/drupal-settings

用于生成 Drupal 设置文件的 Composer 插件。

1.0.2 2017-11-13 06:43 UTC

This package is not auto-updated.

Last update: 2024-09-15 19:23:42 UTC


README

Composer 插件,用于从 YAML 参数文件生成 Drupal 的 settings.local.php(或其他)文件。

用法

  • 运行 composer require niji-digital/drupal-settings
  • 将新脚本添加到 composer.json 的脚本部分
{
  "scripts": {
    "prepare-settings": "NijiDigital\\Settings\\Plugin::generate"
  }
}
  • 创建 YAML 参数文件(默认在 COMPOSER_ROOT/drupal-settings 目录下,见 参数 部分)

  • 可选:创建设置文件模板(见 模板 部分)

  • 可选:更改设置文件目标位置(见 目标位置 部分)

  • 运行 composer prepare-settings

从 "模板" 使用 "参数" 到 "目标位置"

所有路径参数都必须相对于 composer 根目录

模板

默认情况下,此存储库中包含的 settings.local.php.twig 模板文件被使用。

{% autoescape false %}
<?php

//$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
//$settings['cache']['default'] = 'cache.backend.null';
$settings['extension_discovery_scan_tests'] = TRUE;
$settings['file_chmod_directory'] = 0775;
$settings['file_chmod_file'] = 0664;
$settings['hash_salt'] = '{{ hash_salt }}';

$databases['default']['default'] = array(
    'driver' => 'mysql',
    'database' => '{{ db_name }}',
    'username' => '{{ db_user }}',
    'password' => '{{ db_pass }}',
    'host' => '{{ db_host }}',
    'port' => 3306,
    'prefix' => '',
    'collation' => 'utf8mb4_general_ci',
    'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
);

$config['system.logging']['error_level'] = '{{ error_level }}';
$config['system.performance']['css']['preprocess'] = {{ css_preprocess }};
$config['system.performance']['js']['preprocess'] = {{ js_preprocess }};
$config['system.performance']['cache.page.max_age'] = {{ cache_maxage }};

$settings['trusted_host_patterns'] = {{ trusted_host_patterns }};

$config_directories = array(
    CONFIG_SYNC_DIRECTORY => getcwd() . '/../config/'
);
{% endautoescape %}

您可以创建自己的模板,并在 composer extra 数据定义中添加其定义

{
    "extra": {
        "drupal-settings": {
            "template-directory": "path/to/templates",
            "template-file": "settings.local.php.twig"
        }
    }
}

参数

示例

cache_maxage: '300'
css_preprocess: 'TRUE'
db_host: 'mariadb'
db_name: 'drupal'
db_pass: 'drupal'
db_user: 'drupal'
error_level: 'verbose'
js_preprocess: 'TRUE'
trusted_host_patterns:
  - '^drupal\.localhost$'

此插件尝试按顺序加载参数文件

  1. 在 composer extra 数据定义中定义的文件
{
    "extra": {
        "drupal-settings": {
            "parameters-file": "../path/to/parameters.yml"
        }
    }
}
  1. settings/parameters.yml
  2. settings/parameters.dist.yml

目标位置

默认情况下,settings.local.php 文件创建在 web/sites/default 目录下。

目标位置可以在 composer extra 数据定义中重写。

{
    "extra": {
        "drupal-settings": {
            "destination-directory": "web/sites/default",
            "destination-file": "settings.local.php"
        }
    }
}