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.yml
settings/parameters.dist.yml
目标
默认情况下,settings.local.php
文件创建在web/sites/default
目录下。
在composer额外数据定义中可以覆盖目标位置。
{ "extra": { "drupal-settings": { "destination-directory": "web/sites/default", "destination-file": "settings.local.php" } } }