pog-vupar / drupal-settings
用于生成Drupal配置文件的Composer插件。
dev-master
2021-02-03 18:37 UTC
Requires
- php: >=5.4.5
- composer-plugin-api: ^1.0.0
- drupal/core: ~8.4
- twig/twig: ^1.23.1
Requires (Dev)
- composer/composer: dev-master
- phpunit/phpunit: ^4.4.0
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$'
此插件尝试按以下顺序加载参数文件
- 在composer额外数据定义中定义的文件
{
"extra": {
"drupal-settings": {
"parameters-file": "../path/to/parameters.yml"
}
}
}
settings/parameters.ymlsettings/parameters.dist.yml
目标
默认情况下,settings.local.php文件创建在web/sites/default目录下。
在composer额外数据定义中可以覆盖目标位置。
{
"extra": {
"drupal-settings": {
"destination-directory": "web/sites/default",
"destination-file": "settings.local.php"
}
}
}