specbee/drupal-recommended-starterkit

适用于已迁移文档根的Drupal项目的项目模板

2.1.0 2024-08-15 10:01 UTC

This package is auto-updated.

Last update: 2024-09-20 05:38:02 UTC


README

CI

一个基于Drupal Recommended ProjectDrupal 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文档