PhpStorm 2025.2 Help

设为静态

设为静态 重构将实例方法转换为静态方法,并自动更正该方法的所有调用、实现和重写。

  1. 结构 视图中选择要重构的方法,或在编辑器中右键单击方法名称。 从主菜单或选择的上下文菜单中选择 重构 | 设为静态。 如果您的方法不需要任何参数,也不依赖于访问此对象的属性或方法,静态方法将被静默创建,而不会显示任何对话框:

    class MyClass { private function getFormattedDate() { $format = getSettings()['dateFormat']; return time($format); } }
    class MyClass { private static function getFormattedDate() { $format = getSettings()['dateFormat']; return time($format); } }

    对于更复杂的情况,将打开 将方法设为静态 对话框。

  2. 将方法设为静态 对话框中,执行以下操作之一:

    • 如果您当前通过 $this 使用现有对象,请选中 添加对象作为名称为的参数 复选框,以通过参数传递对象的实例。 在下方的字段中,指定要生成的参数名称。 重构后,新参数将在 PHPDoc 块中记录。

      class MyClass { private function getFormattedDate() { $format = $this->getSettings()['dateFormat']; return time($format); } }
      class MyClass { /** * @param MyClass $instance * @return */ private static function getFormattedDate($instance) { $format = $instance->getSettings()['dateFormat']; return time($format); } }
    • 如果您访问类的属性,请使用 为属性添加参数 区域将属性的值作为参数传递,而不是在新创建的静态方法中访问对象。

      1. 请选择 为属性添加参数 复选框。

      2. 在显示所有可能建议参数的 参数 列表中,选中您希望传递值的参数旁边的复选框。

      class MyClass { private function getFormattedDate() { $format = $this->timeFormat; return time($format); } }
      class MyClass { /** * @param $timeFormat * @return int; */ private static function getFormattedDate($timeFormat) { $format = timeFormat; return time($format); } }
  3. 要预览结果,请单击 预览 ,并在 查找工具窗口 中检查重构结果。 如果没有问题,请应用更改。

最后修改日期: 2025年 9月 26日