DrupalコンソールとDrushでDrupal開発を加速

公開: 2022-02-22

Drupal 8がユーザーのデジタルエクスペリエンスを最新化するだけでなく、Drupal開発者の開発作業を容易にする方法について広範囲にわたって書いてきました(私たちはこのことに取り組んでいます)。 この記事では、Drupalコード、モジュール、およびインストールの操作方法を大幅に簡素化および改善した2つのDrupal 8/9ユーティリティツール(Drupal ConsoleとDrush)について説明します。

Drupalコンソール

Drupalコンソールとは

Drupal 8の進歩以来、新しいモジュールを構築するために多くの定型コードを追加する必要があります。 もちろん、コードをコピーして貼り付けるだけでもかまいませんが、繰り返し行うと、多くのエラーが発生する可能性があります。 大丈夫です。 私たちは人間です。 幸いなことに、Drupalコンソールがあります。これはCLI(コマンドラインインターフェイス)で実行する一連のツールで、ボイラープレートコードを自動的に生成できます。 Symfony Consoleおよびその他のサードパーティコンポーネントを活用して、Drupal8/9モジュールの構築に必要なコードのほとんどを生成します。

ダッシュとは

Drush(Drupal + Shell)は、DrupalのオリジナルのCLIツールです。 新しいDrupalWebサイトを簡単に起動でき、開発および管理タスクを合理化するのに役立ちます。 Drushには、Drupalのインストール、テーマ、モジュールなどを操作できる、実装が簡単なコマンドが多数付属しています。 Drushで実行できるその他のタスクには、構成のエクスポート/インポート、キャッシュ、contribモジュールの更新、データベースの更新などがあります。

DrushはDrupal6/7/8/9とうまく連携し、最新の開発手法の利点を提供します。 これは、既存のDrupalモジュールの移行中と新しいモジュールの作成中の両方で開発時間を節約し、それによって生産性を向上させるのに役立ちます。 この記事では、独自のカスタムDrushコマンドを作成する方法を学びます。

Drupalコンソールのインストール

Drupalコンソールは、composer、curl、pharなどのさまざまな方法でインストールできます。composerを使用してインストールする例を次に示します。

Composerを介してグローバルにインストール

composer global require drupal/console

サイト固有のインストール

1.CLIでDrupalサイトに移動します。

 cd /path/to/drupal_site

2.composerrequireコマンドを実行します。

 composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader

Drushのインストール

Drushは、composer、curl、pharなどのさまざまな方法でインストールできます。 以下は、composerを使用してインストールする例です。

Composerを介してグローバルにインストール

composer global require drush/drush

サイト固有のインストール

1.CLIでDrupalサイトに移動します。

 cd /path/to/drupal_site

2.composerrequireコマンドを実行します。

 composer require drush/drush

Drupalコンソールのコマンドと使用法

最も人気があり便利なDrupalコンソールコマンドのいくつかと、それらがいつ使用できるかを確認してください。

  • Drupalデバッグコマンド

  • テーマの作業中にブレークポイントを特定するには:
 drupal debug:breakpoints {theme_name}

例:drupal debug:breakpoints bartik

  • サービスを操作するときにサービスのクラスと名前を簡単に見つけるには、次のようにします。
 drupal debug:config:settings
  • 痛みを伴う壊れたブロックがある場合の失敗点を特定するには、次のようにします。
 drupal debug:plugin block broken
  • カスタムモジュールを生成する

次のコマンドを使用して、1分以内にカスタムモジュールを作成します。

 drupal generate:module \ --module="modulename" \ --machine-name="modulename" \ --module-path="/modules/custom" \ --description="My Awesome Module" \ --core="8.x" \ --package="Custom" \ --module-file \ --composer \ --test \ --twigtemplate
  • カスタムフォームの生成

カスタムフォームの要件は、プロジェクト全体で非常に一般的です。 このコマンドでカスタムフォームを簡単に作成します。

 drupal generate:form \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
  • 構成フォームの生成

カスタムフォームと同様に、管理者が構成したフォームも必要です。 このコマンドを使用すると、それらを簡単に作成できます。

 drupal generate:form:config \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
  • コントローラを生成する

カスタムフォームでは、コントローラーが必要になります。 次のコマンドを使用して、カスタムコントローラを簡単に作成できます。

 drupal generate:controller \ --module="modulename" \ --class="DefaultController" \ --routes='"title":"ControllerMethod", "name":"modulename.default_controller_hello", "method":"hello", "path":"/modulename/hello/{name}"' \ --test
  • カスタムエンティティを生成する

カスタムエンティティの作成に時間がかかる必要はありません。このコマンドを使用すると、すばやく簡単に作成できます。

 drupal generate:entity:content \ --module="modulename" \ --entity-class="DefaultEntity" \ --entity-name="default_entity" \ --base-path="/admin/structure" \ --label="Default entity" \ --is-translatable \ --revisionable --has-forms
  • カスタムサービスの生成

このコマンドは、カスタムサービスの作成に役立ちます。

 drupal generate:service \ --module="modulename" \ --name="modulename.default" \ --class="DefaultService" \ --interface \ --interface-name="InterfaceName" \ --path-service="/modules/custom/modulename/src/"
  • user:createのようなコンテンツを作成する

バックエンドからユーザーを作成するために、ブラウザーを開いてadminでログインしてから、アカウントを作成する必要はありません。 次のコマンドを使用して、jiffyでユーザーを作成します。

 drupal user:create username password \ --roles='authenticated' \ --email="[email protected]" \ --status="1"
  • ブロックのようなプラグインを生成する

Drupal Consoleは、ブロックなどの多くのプラグインを生成することもできます。 カスタムブロックを作成する例を次に示します。

 drupal generate:plugin:block \ --module="modulename" \ --class="DefaultBlock" \ --label="Default block" \ --plugin- \ --theme-region="header" \ --inputs='"name":"inputtext", "type":"text_format", "label":"InputText", "options":"", "description":"Just an input text", "maxlength":"", "size":"", "default_value":"", "weight":"0", "fieldset":""'

Drupalコンソールコマンドと使用法の詳細については、これらの使用可能なコマンドを確認してください。

最も人気のあるダッシュコマンド

ダッシュcr Drupalキャッシュを再構築するには
ダッシュシムすべての構成ファイルをインポートするには
ダッシュcex 構成ファイルをエクスポートするには
ダッシュウリワンタイムログインURLを使用してログインするには
drush en {module_name} カスタムまたはcontribまたはコアのいずれかのモジュールを有効にします
drush pmu {module_name} モジュールを無効にしてアンインストールします
drush pm:list パッケージ、モジュール名、バージョン、およびステータスとともにすべてのモジュールを一覧表示します
drush updb アップグレード後にデータベースを更新するには
drush watchdog:list(ws) すべてのウォッチドッグメッセージを一覧表示します
drush watchdog:tail(wt) 継続的なテールウォッチドッグメッセージ
drush watchdog:tail --type = php 特定の重大度タイプの継続的なテールウォッチドッグメッセージ

いくつかのクールなダッシュコマンド

ダッシュステータス現在のDrupalインストールの概要を提供します
ドラッシュ生成Drupal Consoleと同様に、 drush generateコマンドは、エンティティ、プラグインなどを生成するのに役立ちます
午後のダッシュ:セキュリティDrupalコンポーザーパッケージでセキュリティアップデートを確認するには
ダッシュmigrate:status 現在のステータスですべての移行を一覧表示します
drush user:password {username} {password} ユーザーパスワードを設定します
drush user:block ユーザーをブロックするのに役立ちます
drush user:role:add ユーザーの役割を追加するのに役立ちます
drushsql-dump mysqldumpまたは同等のものを使用して、DrupalデータベースをSQLとしてエクスポートします。