pog-vupar/drupal-settings

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

安装: 0

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型:composer-plugin

dev-master 2021-02-03 18:37 UTC

This package is not auto-updated.

Last update: 2024-09-27 10:01:06 UTC


README

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

用法

  • 运行 composer require pog-vupar/drupal-settings
  • 在composer.json的脚本部分添加新的脚本
{
  "scripts": {
    "prepare-settings": "Vupar\\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": {
        "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": {
        "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": {
        "drupal-settings": {
            "destination-directory": "web/sites/default",
            "destination-file": "settings.local.php"
        }
    }
}