フィールドの導入
フィールドの導入リファクタリングでは、新しいフィールドを宣言し、選択した式で初期化することができます。 元の式はフィールドの使用箇所に置き換えられます。
新しいフィールドは、デフォルトの可視性修飾子を使用して作成されます。 この修飾子は、 設定 ダイアログ (Ctrl+Alt+S) の コードスタイル: PHP ページの コード生成タブで設定されます。
その場でフィールドを抽出する
フィールドに抽出するコード部分内にキャレットを置きます。
Ctrl+Alt+F を押すか、メインメニューで に移動します。
導入する式をフィールドとして選択します。

IntelliJ IDEA がコード内で複数の出現箇所を検出した場合、どの出現箇所を置き換えるかを指定できます。

新しいフィールドの名前を指定し、宣言内、現在のメソッド内、クラスコンストラクター内のどこで初期化するかを選択します。
PHPUnit テストを使用する場合、PhpStorm では
setUpメソッドのフィールドを初期化することもできます。 PhpStorm での PHPUnit の操作の詳細については、「PHPUnit 」を参照してください。
Example
'param_query' 引数を $query クラスプロパティに抽出してみましょう。 その結果、PhpStorm は新しい public $query プロパティを宣言し、すべての 'param_query' 出現箇所を self::$query に変更します。 結果のコードは、プロパティを初期化するために選択した場所に応じて、次のようになります。
public function find($params)
{
return execute($params['param_query']);
}
public function findAll($params)
{
return executeAll($params['param_query']);
}
public $query = 'param_query';
public function find($params)
{
return execute($params[self::$query]);
}
public function findAll($params)
{
return executeAll($params[self::$query]);
}
public function find($params)
{
return execute($params['param_query']);
}
public function findAll($params)
{
return executeAll($params['param_query']);
}
public $query;
public function find($params)
{
self::$query = 'param_query';
return execute($params[self::$query]);
}
public function findAll($params)
{
return executeAll($params[self::$query]);
}
public function find($params)
{
return execute($params['param_query']);
}
public function findAll($params)
{
return executeAll($params['param_query']);
}
public $query;
public function __construct()
{
$this->query = 'param_query';
}
public function find($params)
{
return execute($params[$this->query]);
}
public function findAll($params)
{
return executeAll($params[$this->query]);
}
public function find($params)
{
return execute($params['param_query']);
}
public function findAll($params)
{
return executeAll($params['param_query']);
}
private $query;
public function find($params)
{
return execute($params[$this->query]);
}
public function findAll($params)
{
return executeAll($params[$this->query]);
}
protected function setUp()
{
$this->query = 'param_query';
parent::setUp();
}
2026 年 11 月 9 日