PhpStorm 2025.3 Help

提取常量

提取常量重构使您的源代码更易于阅读和维护。 它还可以帮助您避免使用没有任何值或用途说明的硬编码常量。

  1. 在编辑器中,选择 您想用常量替换的表达式或变量声明。

  2. 按 Ctrl+Alt+C 引入常量,或在主菜单中选择 重构 | 提取/引入 | 常量。

    或者, 在出现的 工具栏上,点击 提取 并选择 常量。

    如果找到多个表达式的出现位置,请指定您希望仅替换选定的出现位置,还是用新常量替换所有找到的出现位置。

  3. 接受建议的常量名称或输入您自己的名称。

    如果需要,选择 移动到另一个类 复选框或选择提取常量的 可见性范围 (访问级别修饰符)。 如果您保留 默认 值被选中,常量将被隐式定义为 public ,而不应用任何修饰符。 否则,您可以选择适当的选项以显式将常量标记为 public、 private 或 protected。

  4. 按下 Tab 或 Enter 以完成重构。

    提取常量
  5. 如果您选择了 移动到另一个类 复选框,将显示一个 提取常量 对话框,提示您指定目标类。

    提取常量对话框

PHP 示例

提取类常量

当在类定义中提取常量时,新常量通过 const 关键字定义,并通过 self 关键字引用。

在 PHP 语言版本 7.1 及更高版本中,您还可以将提取的常量标记为 public、 private 或 protected。

class const_extraction { public static function find($params) { if (isset($params['param_query'])) { $result = MyDatabase::execute($params['param_query']); } } public static function findAll($params) { if (isset($params['param_query'])) { $result = MyDatabase::executeAll($params['param_query']); } } }
class const_extraction { const PARAM_QUERY = 'param_query'; public static function find($params) { if (isset($params[self::PARAM_QUERY])) { $result = MyDatabase::execute($params[self::PARAM_QUERY]); } } public static function findAll($params) { if(isset($params[self::PARAM_QUERY])) { $result = MyDatabase::executeAll($params[self::PARAM_QUERY]); } } }

在类外提取常量

当在类定义外提取常量时,您可以选择通过 const 关键字定义,或通过 define() 函数定义。

const 定义:

function find($params) { if (isset($params['param_query'])) { $result = MyDatabase::execute($params['param_query']); } } function findAll($params) { if (isset($params['param_query'])) { $result = MyDatabase::executeAll($params['param_query']); } }
const PARAM_QUERY = 'param_query'; function find($params) { if (isset($params[PARAM_QUERY])) { $result = MyDatabase::execute($params[PARAM_QUERY]); } } function findAll($params) { if (isset($params[PARAM_QUERY])) { $result = MyDatabase::executeAll($params[PARAM_QUERY]); } }

define() 定义:

function find($params) { if (isset($params['param_query'])) { $result = MyDatabase::execute($params['param_query']); } } function findAll($params) { if (isset($params['param_query'])) { $result = MyDatabase::executeAll($params['param_query']); } }
define('PARAM_QUERY', 'param_query'); function find($params) { if(isset($params[PARAM_QUERY])) { $result = MyDatabase::execute($params[PARAM_QUERY]); } } function findAll($params) { if(isset($params[PARAM_QUERY])) { $result = MyDatabase::executeAll($params[PARAM_QUERY]); } }

JavaScript 示例

Parenizor.method('toString', function () { return '(' + this.getValue() + ')'; })
Parenizor.method('toString', function () { const string = '(' + this.getValue() + ')'; return string; })
最后修改日期: 2025年 12月 5日