specbee / drupal-recommended-starterkit
适用于已迁移文档根的Drupal项目的项目模板
Requires
- php: >=8.3
- composer/installers: ^2.0
- cweagans/composer-patches: ^2
- drupal/config_sync_without_site_uuid: ^1.0@beta
- drupal/core-composer-scaffold: ^11
- drupal/core-project-message: ^11
- drupal/core-recommended: ^11
- drupal/dotenv: ^1.2
- drush/drush: ^13
- oomphinc/composer-installers-extender: ^2.0
Requires (Dev)
Conflicts
README
一个基于Drupal Recommended Project和Drupal Composer Template的Drupal StarterKit项目模板,用于创建具有开箱即用的必需工具和包的Drupal项目,以启动项目。
包含内容
安装
使用Composer create project命令从dev版本创建新项目。
composer create-project specbee/drupal-recommended-starterkit:10.x-dev
--no-interaction drupal10
cd drupal10
ddev start
这将安装drupal 10.3.0-beta1
对于drupal 10.2.6
,请运行以下命令
composer create-project specbee/drupal-recommended-starterkit:1.0.0
--no-interaction drupal10
cd drupal10
ddev start
对于drupal 11.0.0-beta1
,请运行以下命令
composer create-project specbee/drupal-recommended-starterkit:2.0.0
--no-interaction drupal11
cd drupal10
ddev start
请注意:您需要DDEV 1.23.0或更高版本。如果需要升级,请参阅文档。
您可以在.ddev/config.yml
文件中更新本地开发配置。例如,要更改项目名称,请更新配置文件中的name
参数。
添加包
使用composer require
包括和下载项目的依赖项。
cd some-dir
composer require drupal/devel
添加库
您可以使用Composer管理前端资产库,这是由于asset-packagist存储库。Composer将检测并安装满足指定约束的新库版本。
composer require bower-asset/dropzone
使用GrumPHP
该包在git提交期间为Drupal项目设置代码质量检查工具。
强制提交信息格式
要配置提交信息结构,请使用git_commit_message任务。例如,要强制提交信息包含Jira问题ID,请使用以下规则片段。更多选项请在线查阅。
# grumphp.yml grumphp: tasks: git_commit_message: matchers: "Must follow the pattern": '/(^JIRA-[0-9]+(: )[^ ].{5,}\.)|(Merge branch (.)+)/'
使用DotEnv
您现在可以向您的.env
文件中添加环境变量,它将自动在$_ENV
全局变量中可用。
您可以在settings.php
中、在服务提供者中或其他代码中的任何地方使用它。以下是一些示例
<?php // phpcs:ignore // settings.php. $databases['default']['default'] = [ 'database' => $_ENV['DB_DATABASE'], 'username' => $_ENV['DB_USERNAME'], 'password' => $_ENV['DB_PASSWORD'] ?? '', 'prefix' => '', 'host' => $_ENV['DB_HOST'] ?? 'localhost', 'port' => $_ENV['DB_PORT'] ?? 3306, 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql', 'driver' => 'mysql', ]; $config['mandrill.settings'] = [ 'mandrill_api_key' => $_ENV['MANDRILL_API_KEY'], ];
// phpcs:ignore <? php namespace Drupal\yourmodule; use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Core\DependencyInjection\ServiceProviderInterface; /** * Sample class. */ class YourmoduleServiceProvider implements ServiceProviderInterface { /** * Sample method. */ public function register(ContainerBuilder $container) { $container->setParameter('yourmodule.some_secret', $_ENV['SOME_SECRET']); } } php ?>
在实时环境中,每次您的.env
文件更改时,都应该调用drush dotenv:dump
。如果不这样做,则.env
文件将在每次请求时加载,这会降低您应用程序的性能。
您可以使用drush dotenv:dump
命令获取有关扫描的dotenv文件和加载的变量的调试信息。
有关更多信息,请参阅Symfony文档。