概要
この記事では、drupal-checkというツールを使ってDrupalの非推奨(Deprecated)コードを簡単にチェックする方法を紹介します。
Drupalのバージョンアップ作業前に、カスタムモジュールに非推奨コードはないかなど調べるのに有用です。 VSCodeの拡張機能を導入すれば開発しながらチェックもできます。
*非推奨コード以外にも使用していない変数やPHPDocの不備なども教えてくれます。
前提・紹介環境
- Mac Apple M1
- composer 2.3.10(homebrew)
- PHP 7.4(homebrew)
導入手順
任意の場所で以下のコマンドを実行し、
drupal-check
をインストールします。composer global require mglaman/drupal-check
インストールできていることを確認します。以下のように
drupal-check
があればOKです。ls ~/.composer/vendor/bin
drupal-check neon-lint phpcbf phpcs phpstan phpstan.phar yaml-lint
導入完了
使い方
以下のコマンドで実行できます。パスは相対パスでも大丈夫です。
drupal-check {確認したいファイル・ディレクトリへのパス}
使い方例
テストのために、9.4系のDrupalソースを用意します
cd ~/Desktop mkdir drupal-check-test cd drupal-check-test composer create-project drupal/recommended-project:9.4.3 "test-project" cd test-project
examples
モジュールをインストールします。composer require 'drupal/examples:^3.0'
今回は
examples
にあるevents_example
を教材に、drupal-checkを使用してみます。cd web/modules/contrib/examples/modules/events_example events_example % drupal-check -d src/Event
実行結果
↑の画像を説明すると、以下のようになります。
IncidentReportEvent.phpの20行目で、
Drupal\events_example\Event\IncidentReportEvent
クラスが、非推奨のクラスSymfony\Component\EventDispatcher\Event
を拡張してますよ。 Symfony4.3以降は、代わりにSymfony\Contracts\EventDispatcher\Event
を使用してくださいね。
付録
A. 「PHP Fatal error: Allowed memory size of....」エラーが出る場合
php.iniファイルを編集して、memory limitを増やしましょう。
筆者の環境ではこちら
php -i | grep php.ini
Configuration File (php.ini) Path => /opt/homebrew/etc/php/7.4
Loaded Configuration File => /opt/homebrew/etc/php/7.4/php.ini
vi /opt/homebrew/etc/php/7.4/php.ini
; Maximum amount of memory a script may consume
; http://php.net/memory-limit
memory_limit = 128M
↓
; Maximum amount of memory a script may consume
; http://php.net/memory-limit
memory_limit = 256M
B. VSCodeでdrupal-checkによる非推奨チェックを自動化できる!
以下の拡張機能で導入可能。 設定で、コマンドへのパスを指定してあげる必要があります。
drupal-check - Visual Studio Marketplace
C. drupal-checkを簡単に試せる、Dockerイメージ *筆者未検証
環境構築めんどくさい・とりあえず試したい・ローカル環境を汚したくないという人へ。
skilldlabs/docker-drupal-check - Docker Image | Docker Hub
参考
- 閲覧数 326
コメントを追加