在 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。要快速遍历对受保护属性的所有访问,您可以创建一个新的检查配置文件,仅用于注释器检查:
- 转到文件 -> 设置
- 转到编辑器 -> 检查
- 单击“管理”->“复制”以创建新的检查配置文件。
- 禁用除常规 -> 注释器之外的所有检查。
- 现在右键单击您的项目根目录,单击检查代码,然后使用您的新配置文件执行检查。将列出所有出现的受保护或私有访问。
我希望这至少对你有用:)
我用这些步骤来解决它:
- 重构 -> 重命名。将您的 public 属性 重命名为某种独特的名称,例如“askjdhakdjhqeoifnowinevowinvoiwn”。
- 用 getter 替换项目中所有出现的“askjdhakdjhqeoifnowinevowinvoiwn”,例如"getProperty()".
- 将public属性设置为受保护的
我有一个项目,其中包含通过 $object->property
直接访问的一组 类 的 public 属性的许多实例。在将属性转换为 protected
并为每个 属性.
我现在想用适当的 getter 重构每个 public 访问过的 属性。无论如何这可以通过 PHPStorm 自动化吗?
查找和替换没有用,因为对象在不同的地方有不同的名称。
PHPStorm 已经检测到 Member has protected access
。它能否检测到相应的 getter 也已生成并在出现的地方进行替换?
不幸的是,IDEA 的 "encapsulate fields" 重构选项在 PhpStorm 中不可用,因此无法完全自动化此过程。可以编写一个插件来执行此操作,但据我所知,none 目前可用。
如果我没看错你的post,你已经保护了字段并生成了所需的getter。要快速遍历对受保护属性的所有访问,您可以创建一个新的检查配置文件,仅用于注释器检查:
- 转到文件 -> 设置
- 转到编辑器 -> 检查
- 单击“管理”->“复制”以创建新的检查配置文件。
- 禁用除常规 -> 注释器之外的所有检查。
- 现在右键单击您的项目根目录,单击检查代码,然后使用您的新配置文件执行检查。将列出所有出现的受保护或私有访问。
我希望这至少对你有用:)
我用这些步骤来解决它:
- 重构 -> 重命名。将您的 public 属性 重命名为某种独特的名称,例如“askjdhakdjhqeoifnowinevowinvoiwn”。
- 用 getter 替换项目中所有出现的“askjdhakdjhqeoifnowinevowinvoiwn”,例如"getProperty()".
- 将public属性设置为受保护的