niji-digital / drupal-settings
用于生成 Drupal 设置文件的 Composer 插件。
1.0.2
2017-11-13 06:43 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-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$'
此插件尝试按顺序加载参数文件
- 在 composer extra 数据定义中定义的文件
{
"extra": {
"drupal-settings": {
"parameters-file": "../path/to/parameters.yml"
}
}
}
settings/parameters.ymlsettings/parameters.dist.yml
目标位置
默认情况下,settings.local.php 文件创建在 web/sites/default 目录下。
目标位置可以在 composer extra 数据定义中重写。
{
"extra": {
"drupal-settings": {
"destination-directory": "web/sites/default",
"destination-file": "settings.local.php"
}
}
}