PhpStorm 2026.1 Help

定数の抽出

定数の導入リファクタリングにより、ソースコードの読みやすさと保守性が向上します。 また、値や目的についての説明がないままハードコードされた定数の使用を回避するのにも役立ちます。

  1. エディターで、定数で置き換えたい変数の式または宣言を選択します。

  2. Ctrl+Alt+C を押して定数を入力するか、メインメニューで リファクタリング | 抽出 / 導入 | 定数 を選択します。

    または、表示される ツールバー抽出 をクリックし、 定数 を選択します。

    式が複数出現する場合は、選択した出現のみを置き換えるのか、見つかった出現すべてを新しい定数で置き換えるのかを指定します。

  3. 提案された定数名を受け入れるか、独自の名前を入力します。

    必要に応じて、 別のクラスに移動 チェックボックスを選択するか、抽出された定数の 可視性スコープ (英語) (アクセスレベル修飾子) を選択します。 デフォルト 値を選択したままにすると、定数は修飾子が適用されずに暗黙的に パブリック として定義されます。 それ以外の場合は、適切なオプションを選択して、定数を パブリックprivate 、または 保護を選択します。 として明示的にマークできます。

  4. リファクタリングを完了するには、 Tab または Enter を押します。

    定数の抽出
  5. 別のクラスに移動 チェックボックスを選択した場合は、ターゲットクラスを指定するよう求める 定数の導入・抽出 ダイアログが表示されます。

    定数の導入ダイアログ

PHP の例

クラス定数の導入

クラス定義内で定数が抽出されると、新しい定数は const キーワードで定義され、 self キーワードで参照されます。

PHP 言語バージョン 7.1 以降では、抽出された定数を パブリックprivate保護を選択します。 として追加でマークできます。

class const_extraction { public static function find($params) { if (isset($params['param_query'])) { $result = MyDatabase::execute($params['param_query']); } } public static function findAll($params) { if (isset($params['param_query'])) { $result = MyDatabase::executeAll($params['param_query']); } } }
class const_extraction { const PARAM_QUERY = 'param_query'; public static function find($params) { if (isset($params[self::PARAM_QUERY])) { $result = MyDatabase::execute($params[self::PARAM_QUERY]); } } public static function findAll($params) { if(isset($params[self::PARAM_QUERY])) { $result = MyDatabase::executeAll($params[self::PARAM_QUERY]); } } }

クラス外の定数の導入

クラス定義の外で定数が抽出されると、その定数を const キーワードで定義するか、 定義() 関数で定義するかを選択できます。

const の定義:

function find($params) { if (isset($params['param_query'])) { $result = MyDatabase::execute($params['param_query']); } } function findAll($params) { if (isset($params['param_query'])) { $result = MyDatabase::executeAll($params['param_query']); } }
const PARAM_QUERY = 'param_query'; function find($params) { if (isset($params[PARAM_QUERY])) { $result = MyDatabase::execute($params[PARAM_QUERY]); } } function findAll($params) { if (isset($params[PARAM_QUERY])) { $result = MyDatabase::executeAll($params[PARAM_QUERY]); } }

定義() の定義:

function find($params) { if (isset($params['param_query'])) { $result = MyDatabase::execute($params['param_query']); } } function findAll($params) { if (isset($params['param_query'])) { $result = MyDatabase::executeAll($params['param_query']); } }
define('PARAM_QUERY', 'param_query'); function find($params) { if(isset($params[PARAM_QUERY])) { $result = MyDatabase::execute($params[PARAM_QUERY]); } } function findAll($params) { if(isset($params[PARAM_QUERY])) { $result = MyDatabase::executeAll($params[PARAM_QUERY]); } }

JavaScript の例

Parenizor.method('toString', function () { return '(' + this.getValue() + ')'; })
Parenizor.method('toString', function () { const string = '(' + this.getValue() + ')'; return string; })
2026 年 5 月 22 日