Edited at

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

More than 1 year has passed since last update.


方法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 ユーザーズグループで質問して頂いた情報を元に解決して書かれたものです。多謝。

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