PhpStorm 2021.3 Help

提取字段

提取字段重构允许您声明一个新字段并使用选定的表达式对其进行初始化。原始表达式被替换为字段的用法。新字段是使用默认可见性修饰符创建的,该修饰符在代码样式的代码生成选项卡上设置。设置/首选项对话框 ( )的PHP页面。Ctrl+Alt+S

就地提取字段

  1. 将插入符号放置在要提取到字段中的一段代码中。

  2. Ctrl+Alt+F或 从主菜单中选择Refactor | 提取字段

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

    提取字段
    如果 PhpStorm 在您的代码中检测到不止一次出现,它可以让您指定要替换哪些出现。

    提取多次出现的字段

  4. 提供新字段的名称并选择初始化的位置:在其声明中、在当前方法中或在类构造函数中。当您使用 PHPUnit 测试时,PhpStorm 还允许您初始化setUp方法中的字段。有关在 PhpStorm 中使用 PHPUnit 的更多详细信息,请参阅PHPUnit

    提取和初始化字段

使用对话框提取字段

如果设置/首选项对话框(_ _ _ _ _ _Ctrl+Alt+S

启用就地重构禁用
  1. 在编辑器中,选择要替换为字段的表达式或变量,或者仅将插入符号放置在此类表达式或变量声明中。

  2. 在主菜单或选择的上下文菜单中,选择Refactor | 提取物 | 字段,或按Ctrl+Alt+F

  3. 在打开的提取字段对话框中,配置重构:

    提取字段对话框
    1. 指定字段的名称。

    2. 通过在Initialize in下选择必要的选项来指定新字段的初始化位置。当您使用 PHPUnit 测试时,PhpStorm 还允许您初始化setUp方法中的字段。有关在 PhpStorm 中使用 PHPUnit 的更多详细信息,请参阅PHPUnit

    3. 可见性区域中,选择新字段的可见性范围。

    4. 要替换选定表达式的所有匹配项(如果在类中多次找到选定表达式),请选中替换所有匹配项复选框。

    5. 单击确定

例子

'param_query'让我们将参数提取到$query类属性中。结果,PhpStorm 声明了新public $query属性并将所有'param_query'出现的地方更改为self::$query. 根据您选择初始化属性的位置,生成的代码将如下所示:

公共函数查找($params){返回执行($params['param_query']);} 公共函数 findAll($params) { return executeAll($params['param_query']); }
公共 $query = 'param_query'; 公共函数查找($params){返回执行($params[self::$query]);} 公共函数 findAll($params) { return executeAll($params[self::$query]); }

公共函数查找($params){返回执行($params['param_query']);} 公共函数 findAll($params) { return executeAll($params['param_query']); }
公共$查询;公共函数 find($params) { self::$query = 'param_query'; 返回执行($params[self::$query]); } 公共函数 findAll($params) { return executeAll($params[self::$query]); }

公共函数查找($params){返回执行($params['param_query']);} 公共函数 findAll($params) { return executeAll($params['param_query']); }
公共$查询;公共函数 __construct() { $this->query = 'param_query'; } 公共函数 find($params) { return execute($params[$this->query]); } 公共函数 findAll($params) { return executeAll($params[$this->query]); }

公共函数查找($params){返回执行($params['param_query']);} 公共函数 findAll($params) { return executeAll($params['param_query']); }
私人$查询;公共函数查找($params){返回执行($params[$this->query]);} 公共函数 findAll($params) { return executeAll($params[$this->query]); } 保护函数 setUp() { $this->query = 'param_query'; 父::setUp(); }
最后修改时间:2021 年 11 月 11 日