PhpStorm 将局部变量重构为类字段

rol*_*cja 5 php ide refactoring phpstorm

就像在主题中一样,我想将局部变量重构为类字段。

我正在考虑两种方法:

A. 快速而简单:
我想将变量名称从 重构$var$this->var

B、扩展版:

从:

class x {
    function y() {
        $var = new targetClass;
    }
}
Run Code Online (Sandbox Code Playgroud)

到:

class x {
    /** @var targetClass $var */ // version C, optional
    (public|protected|private) $var;
    function y() {
        $this->var = new targetClass;
    }
}
Run Code Online (Sandbox Code Playgroud)

无法做到这一点,当我尝试重构时$var,只需将其重构为$this->var,我最终会收到一条消息:

插入的标识符无效

首先定义$this->var也没有帮助。

我发现的唯一解决方法是输入$this->var,放松对重构变量的关注,输入任何内容并将其删除。然后PhpStorm被欺骗并且变量被改变。它是简单的脏覆盖方法A。

小智 3

选择变量并右键单击。选择“重构”->“提取”->“字段”。输入您不需要的字段名称。