Drupalのtwigをxdebugでデバッグする方法

  •  
 
TaKo2022年10月18日 - 16:56 に投稿

概要

本記事では、Drupal9においてtwigテンプレートをデバッグする方法を簡潔に紹介します。
通常、xdebugでtwigをデバッグすることはできないが、twig_xdebugモジュールをインストールすることでできるようになります。

■注意書き

  • モジュールのインストールおよびデバッグ方法を記載します。
  • xdebugの導入・使用法については別の記事に記載します。
  • Develモジュールや、Twig Debuggerモジュールでも類似の方法でtwigをデバッグできます。

前提条件、環境情報

  • xdebugを使用してPHPのデバッグができること
  • Composer が使用可能であること
  • Drushが使用可能であること
  • OS:Mac
    • version:12.5.1
    • CPU:Apple M1
  • 仮想環境:lando
    • version:3.6.4
    • Docker Engine
      • version:20.10.8
  • Drupal:9.4系

手順

■twigのデバッグを有効化する。

  1. 以下のファイルをエディタツールで開く。

    app/sites/development.services.yml 
    
  2. 上の手順で開いたファイルに以下の設定を追加する。

    • 【注意】以下の設定は、本番環境では有効化しないように。
    parameters:
      twig.config:
        debug: true 
        auto_reload: true
        cache: false
    

■twig_xdebugのインストール & 有効化する

  1. ターミナルでDrupal Rootに移動する。
  2. 以下のComposerコマンドでtwig_xdebugをインストールする。

    • 開発にしか使われないモジュールなので--devオプションをつけている。
    composer require --dev drupal/twig_xdebug
    
  3. 以下のコマンドで、twig_xdebugを有効化する。

    lando drush en -y twig_xdebug
    
  4. Drupalのキャッシュをリビルドする。

    drush cr
    

■「{{ breakpoint() }}」をtwigファイルに書いてxdebugでデバッグする。

  1. デバッグしたいTwigに以下のコードを記述する。

    {{ breakpoint() }}
    
  2. 以降は通常のPHPデバッグと同様の操作を行う。

参考資料

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。
画像
PHPStormの例