从公共财产访问转换为PHPStorm中的getter

时间:2015-07-13 17:22:36

标签: php refactoring phpstorm automated-refactoring

我有一个项目,其中包含通过$object->property直接访问的一组类的公共属性的许多实例。将属性转换为protected并为每个属性生成getter和setter后。

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

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

PHPStorm已检测到Member has protected access。它是否能够检测到是否也生成了适当的吸气剂,并在发生的地方进行更换?

2 个答案:

答案 0 :(得分:1)

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

如果我正确阅读了您的帖子,您已经使这些字段受到保护并生成了所需的getter。要快速检查所有对受保护属性的访问,您只能为注释器检查创建新的检查配置文件:

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

答案 1 :(得分:1)

我使用以下步骤来解决它:

  1. 重构->重命名。将您的公共财产重命名为某种唯一的名称,例如“ askjdhakdjhqeoifnowinevowinvoiwn”。
  2. 用getter替换项目中所有出现的“ askjdhakdjhqeoifnowinevowinvoiwn”,例如“ getProperty()”。
  3. 将公共财产设置为受保护的财产。