SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Drupal 9で始めるWebサイト開発入門

便利なツールで効率的にDrupal開発をしよう

Drupal 9で始めるWebサイト開発入門 第7回

  • X ポスト
  • このエントリーをはてなブックマークに追加

開発

 開発についても、多様なツールが公開されています。コーディング中に何度も繰り返す単調な作業を自動化してくれるほか、きちんとベストプラクティスに沿ったコーディングを行うためのサポートをしているツール群です。

Drush

 Drupal開発者にとって、必須とも言える開発ツールがDrushです。Drupalの管理画面から行うさまざまな操作をCUIで行えます。Drushで開発者が頻繁に利用する操作をいくつか紹介します。

drush cr

 Drupalのキャッシュをクリアします。モジュールやテーマ内のコードを変更した際やサイトの不具合がある際には、まずこのコマンドを利用します。

drush en [モジュール名]

 モジュールを有効化します。対象となるモジュールに依存関係がある場合には、依存モジュールも一緒に有効化されます。

drush uli

 Drupalに管理者としてログインするためのワンタイムURLを発行します。--name=ユーザー名のオプションを付与することで、管理者以外のユーザーとしてもログインすることができます。

drush si

 Drupalのインストールを行います。CI/CDツールでテストやビルドをする際や、開発開始時に多用するコマンドです。

drush cex

 Drupalの設定情報をyamlファイルとしてエクスポートします。これにより、Drupalの設定情報がgitでバージョン管理することができるようになります。逆にインポートする際にはdrush cimコマンドを利用します。

Drushのインストール方法

 DrushはDrupalモジュールと同様にComposerでインストールするのが最新のベストプラクティスです。Drupalプロジェクトのルートディレクトリへ移動し、次のコマンドでdrushをプロジェクトにダウンロードします。

$ composer require drush/drush

 Drushの実行ファイルがプロジェクト直下の vendor/bin ディレクトリに配置されます。次のコマンドでDrushを実行できます。

$ vendor/bin/drush --version

 パスを指定せずにDrushコマンドを実行するには、Drush Launcherをインストールします。インストール方法はドキュメントを参照してください。

Drupal Console

 キャッシュのクリアなど、Drushと重複している機能がありますが、コードジェネレーターとしての機能が優れており、Drushと共存して活用されます。例えば、新しく自分でモジュールを作成する際に、drupal generate:moduleコマンドを利用することで、必要なファイルやクラスの雛形が自動で生成され、すぐにロジックのコーディングが開始できます。

Drupal Consoleのインストール方法

 Drupal ConsoleもComposerでインストールします。Drupalプロジェクトのルートディレクトリで、次のコマンドでダウンロードできます。

$ composer require drupal/console

 Drush同様、Drupal Console Launcherと呼ばれるツールがあり、vendor/bin/drupalのようにパスを入力せずコマンドを利用する際はダウンロードが必要です。

テスト

 Drupalにおいても、開発を行った際には自動テストを導入するのがベストプラクティスです。ここでは、Drupalにおいて標準的に使われる2つのテストツールを紹介します。インストール方法や利用方法については、ドキュメントを参照してください。

PHPUnit

 PHPUnitはPHPアプリケーション用のテストフレームワークで、Drupalに標準搭載されています。名称にUnitとありますが、単体テストだけでなく、Drupalコアシステムを最小限起動させて行うカーネルテスト、ブラウザを起動させて動作を確認するブラウザテスト、JavaScriptが有効化されたブラウザでAjaxなどの動作を検証するWebドライバーテストも行えます。

 PHPUnitをDrupalプロジェクトで使用するには、Composerでdrupal/core-devパッケージをインストールします。

$ composer require --dev drupal/core-dev

Behat

 BehatはBDD(べヘイビア駆動開発)フレームワークであり、英語など人間の言語のようにテストを記述することができます。以下が一例です。

Scenario: Wilson posts to his own blog(Wilsonがブログを投稿するシナリオ)
 Given I am logged in as Wilson(Wilsonというユーザーでログインする)
 When I try to post to "Expensive Therapy"(Expensive Therapyという記事を投稿した時)
 Then I should see "Your article was published."(Your article was published.という表示がされる)

 この記述に応じて、システム側が自動でブラウザを起動し、指定された動作を行い、結果を表示します。

 このように、エンジニア以外にも理解しやすいテストを記述することで、プロジェクトメンバー内でのテスト記述へのハードルを下げるとともに、そのままドキュメントとするなどしてプロジェクトの効率化を図れます。

次のページ
Drupal向けホスティングサービス

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Drupal 9で始めるWebサイト開発入門連載記事一覧

もっと読む

この記事の著者

岸 俊兵(キシ シュンペイ)

 カナダ・イエローナイフでウェブ開発者として勤務していた際、エンタープライズ向けオープンソースCMSのDrupalによる開発に従事。帰国後、Drupalのヘビーユーザーであるジョンソン・エンド・ジョンソン株式会社の社内SE等を経て、2019年1月よりアクイアジャパンのソリューションエンジニアとして勤...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/13810 2021/04/08 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング