dpi/drupal-local

此包的最新版本(2.0.0)没有可用的许可信息。

安装: 1

依赖关系: 0

建议者: 0

安全: 0

星星: 7

关注者: 5

分支: 0

开放问题: 0

类型:项目

2.0.0 2022-10-01 22:05 UTC

This package is auto-updated.

Last update: 2024-08-30 01:55:12 UTC


README

本地Drupal开发

此配置仅适用于本地开发。

配置

此配置已在以下环境中测试:

  • Apple Silicon M1
  • macOS Monterey
  • 本地克隆
  • Git
  • Docker for Mac
  • Composer
  • Brew

使用

  1. composer create-project dpi/drupal-local
  2. cp .env.dist .env 并添加值。
  3. composer install
  4. 安装证书,请参阅下面的 本地TLS 部分。
  5. 可选地复制并从设置文件中移除 dist. 前缀。
  6. docker-compose up -d

Drupal

Drupal可通过以下链接访问:https:///

安装

docker-compose exec php-cli bash
drush si standard -y

常见任务

# Set Claro as admin theme:
drush theme:enable claro && drush config:set system.theme admin claro -y && drush cr

替代主机名

想要使用localhost以外的域名,例如DOMAIN.localhost吗?(与Firefox / Chrome自动兼容)或者通过编辑主机文件使用其他域名?

  1. 更新 .env 文件中的URL和主机名。
  2. 为新的主机名生成证书(请参阅 本地TLS)。
  3. docker-compose up -d

Redis

# Enable Redis before copying files because new services depend on Redis.module.
drush en redis
cp ./app/sites/default/dist.settings.redis.php ./app/sites/default/settings.redis.php
cp ./app/sites/default/dist.services.redis.yml ./app/sites/default/services.redis.php
drush cr

配置导出/导入

配置YAML将被导出到 ./config/,或者可以使用以下MySQL转储和自动恢复。

drush config:export
drush config:import

本地TLS

为什么使用本地HTTPS?只因为!还有安全的Cookies!以及其他一些事情。

brew install mkcert nss
# Replace 'localhost' with alternative hostname, if desired.
mkcert -cert-file=certificates/primary.pem -key-file=certificates/primary-key.pem localhost
mkcert -install

可以在 traefik/config/certificates.yaml 中定义更多证书。

MySQL转储

从PHPCLI容器中转储MySQL数据库,以便可以重新启动配置。

drush sql-dump --result-file=../sql/init/dump.sql

如果您先执行 docker-compose down 然后重新启动应用程序,转储将被自动导入。应用程序准备就绪可能需要额外几秒钟。使用 docker-compose logs -f db 跟踪进度。

Mailhog

Mailhog将捕获Drupal发送的邮件。不需要配置Drupal,因为 sendmail_path 已配置。

Mailhog可通过以下链接访问:https:///mailhog/

Traefik

仪表板可通过以下链接访问:https:///traefik/

开发

PHPStan

可选地使用 cp phpstan.neon.dist phpstan.neon 定制PHPStan配置。默认使用 .dist 文件。

phpstan analyse

PHPCS

可选地使用 cp phpcs.xml.dist phpcs.xml 定制PHPCS配置。默认使用 .dist 文件。

phpcs

PHPUnit

可选地使用 cp phpunit.xml.dist phpunit.xml 定制PHPUnit配置。默认使用 .dist 文件。

phpunit

Blackfire

在 .env 中定义客户端和服务器ID和令牌。

Web分析

浏览器扩展

正常启用浏览器扩展。

导航到您希望分析页面,然后点击“分析!”按钮。

注意:如果您使用Firefox容器标签,则可能无法正常工作。在Firefox中进行分析时请使用无容器标签。

Docker compose

docker-compose exec blackfire blackfire curl http://nginx:8080/

Blackfire CLI应用程序

Blackfire客户端(blackfire)已内置到PHP CLI容器(Dockerfile-php-cli)中

docker-compose exec php-cli bash
blackfire curl http://nginx:8080/

CLI应用程序分析

docker-compose exec php-cli bash
blackfire run drush foo