こちらのサイトではDRUPAL10に関連する記事を掲載しています。
はじめに
前回の記事で、デバッグモードを有効にする方法をいくつかお伝えしました。その中で、Twigテンプレートについても触れましたが、あくまで使用しているテンプレートや変数等の内容の表示をするのみでした。
今回はPHPコード同様に、Twigテンプレートに埋め込んだロジックを今回はPHPSTORMなどのIDEでデバッグする方法について記事にしました。
前提条件、環境情報
- xdebugを使用してPHPのデバッグができること
- Composer が使用可能であること
- Drushが使用可能であること
- 仮想環境:landoがインストールされていること
手順
■twigのデバッグを有効化する。
- 以下のファイルを編集する
/sites/development.services.yml
- 以下の設定を追加する。※本番環境では有効にしないこと
parameters:
twig.config:
debug: true
auto_reload: true
■twig_xdebugのインストール & 有効化する
- ターミナルでDrupal Rootに移動する。
- 以下のComposerコマンドで
twig_xdebug
をインストールする。- 開発にしか使われないモジュールなので
--dev
オプションをつけている。
composer require --dev drupal/twig_xdebug
- 開発にしか使われないモジュールなので
- 以下のコマンドで、
twig_xdebug
を有効化する。lando drush en -y twig_xdebug
- Drupalのキャッシュをリビルドする。
drush cr
Access to this page has been denied.
■「{{ breakpoint() }}」をtwigファイルに書いてxdebugでデバッグする。
- デバッグしたいTwigに以下のコードを記述する。
{{ breakpoint() }}
この例では、デバッグ対象のテンプレートのコードの先頭に記載しました
デバッグを開始すると、対象のテンプレートをコンパイルされたファイルを一行ごとにステップ実行できるようになります。
コンパイルされたファイルには、コメントでテンプレートファイルの行数が表示されているため、必要に応じてテンプレートファイルを参照しながらデバッグできます。
さいごに
如何だったでしょうか。Twigテンプレートファイルをデバッグできるようになると、便利です。
これまでちまちまと変数を表示しながらしていたテンプレートのデバッグやカスタマイズ作業が、XDEBUGとこのモジュールを利用するれば、その作業にかかる時間を大幅に短縮することができます。
あなたの環境にもぜひインストールして活用してみてください。
この記事またはDrupalに関するご質問がございましたら、お気軽にお問い合わせください。