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