PhpStorm 2025.2 Help

提取常量

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

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

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

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

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

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

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

  4. 按下 TabEnter 以完成重构。

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

    提取常量对话框

PHP 示例

提取类常量

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

在 PHP 语言版本 7.1 及更高版本中,您还可以将提取的常量标记为 publicprivateprotected

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年 9月 26日