PHP で未使用の use import を削除する方法

  • 22
    Like
  • 4
    Comment

方法1: PhpStorm の整形機能を使う

IDE の PhpStorm を使う場合、Reformat Code ( ⌥⌘L ) をすれば削除できます。

Optimize imports にチェックを付けて実行すると use 一覧が最適化されます。

Reformat Code ダイアログ

追記: コード整形をせずに use の最適化のみを行いたい場合は Optimize Imports ( ⌃⌥O ) で出来ます。

方法2: PHP-CS-Fixer を使用する

コード整形ツールの PHP-CS-Fixer で整形ルールを設定して実行することでも削除できます。

コマンドラインで実行できるため、PhpStorm 以外のエディタを使っている場合でも削除できます。

PHP-CS-Fixer とは

The PHP Coding Standards Fixer tool fixes most issues in your code when you want to follow the PHP coding standards as defined in the PSR-1 and PSR-2 documents and many more.

ref. https://github.com/FriendsOfPHP/PHP-CS-Fixer/

コーディング規約の PSR-1, PSR-2 に沿ってコードを整形してくれるコマンドラインツールです。

削除するコマンド例

# PHP-CS-Fixer 2.0 以降を使う場合
php-cs-fixer fix target.php --rules=@PSR2,no_unused_imports
# PHP-CS-Fixer 1.x を使う場合
php-cs-fixer fix target.php --level=psr2 --fixers=unused_use 

PSR-2 ( --level=psr2 ) のルールでは未使用 use の削除は行われないため、 --fixers オプションで削除するためのルールを追加しています。

バージョン2.0以降からそのルール名が変更されているため、注意が必要です。

  • 1.x: unused_use
  • 2.0以降: no_unused_imports

PHP ユーザーズグループはいいぞ

この記事の内容は Slack の PHP ユーザーズグループで質問して頂いた情報を元に解決して書かれたものです。多謝。

誰でも参加できるので是非どうぞ。