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

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

新しいフィールドの名前を指定し、宣言内、現在のメソッド内、クラスコンストラクター内のどこで初期化するかを選択します。
PHPUnit テストを使用する場合、PhpStorm では
setUpメソッドでフィールドを初期化することもできます。 PhpStorm での PHPUnit の操作の詳細については、 PHPUnit を参照してください。
サンプル
'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 年 5 月 22 日