PhpStorm 2025.2 Help

提取字段

Extract Field 重构允许您声明一个新字段并用所选表达式对其进行初始化。 原始表达式被字段的用法替换。

新字段是使用默认可见性修饰符创建的,该修饰符在 代码生成选项卡的 代码样式中设置。 PHP 页面的 设置 对话框(Ctrl+Alt+S)。

就地提取字段

  1. 将文本光标放置在您想要提取到字段中的代码部分。

  2. Ctrl+Alt+F 或进入主菜单中的 重构 | 提取/引入 | 字段

  3. 请选择您要作为字段引入的表达式。

    提取字段

    如果 PhpStorm 在您的代码中检测到多个出现,它允许您指定要替换的出现。

    提取字段的多次出现
  4. 提供新字段的名称,并选择它将在何处初始化:在其声明中、在当前方法中或在类构造函数中。

    当您使用 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(); }
最后修改日期: 2025年 9月 26日