在 PHPStorm 中从 public 属性 访问转换为 getter

convert from public property access to getter in PHPStorm

我有一个项目,其中包含通过 $object->property 直接访问的一组 类 的 public 属性的许多实例。在将属性转换为 protected 并为每个 属性.

生成 getters 和设置器之后

我现在想用适当的 getter 重构每个 public 访问过的 属性。无论如何这可以通过 PHPStorm 自动化吗?

查找和替换没有用,因为对象在不同的​​地方有不同的名称。

PHPStorm 已经检测到 Member has protected access。它能否检测到相应的 getter 也已生成并在出现的地方进行替换?

不幸的是,IDEA 的 "encapsulate fields" 重构选项在 PhpStorm 中不可用,因此无法完全自动化此过程。可以编写一个插件来执行此操作,但据我所知,none 目前可用。

如果我没看错你的post,你已经保护了字段并生成了所需的getter。要快速遍历对受保护属性的所有访问,您可以创建一个新的检查配置文件,仅用于注释器检查:

  1. 转到文件 -> 设置
  2. 转到编辑器 -> 检查
  3. 单击“管理”->“复制”以创建新的检查配置文件。
  4. 禁用除常规 -> 注释器之外的所有检查。
  5. 现在右键单击您的项目根目录,单击检查代码,然后使用您的新配置文件执行检查。将列出所有出现的受保护或私有访问。

我希望这至少对你有用:)

我用这些步骤来解决它:

  1. 重构 -> 重命名。将您的 public 属性 重命名为某种独特的名称,例如“askjdhakdjhqeoifnowinevowinvoiwn”。
  2. 用 getter 替换项目中所有出现的“askjdhakdjhqeoifnowinevowinvoiwn”,例如"getProperty()".
  3. 将public属性设置为受保护的