提取常量
提取常量重构使您的源代码更易于阅读和维护。 它还可以帮助您避免使用没有任何值或用途说明的硬编码常量。
在编辑器中,选择 您想用常量替换的表达式或变量声明。
按 Ctrl+Alt+C 引入常量,或在主菜单中选择 。
或者, 在出现的 工具栏上,点击 提取 并选择 常量。
如果找到多个表达式的出现位置,请指定您希望仅替换选定的出现位置,还是用新常量替换所有找到的出现位置。
接受建议的常量名称或输入您自己的名称。
如果需要,选择 移动到另一个类 复选框或选择提取常量的 可见性范围 (访问级别修饰符)。 如果您保留 默认 值被选中,常量将被隐式定义为
public,而不应用任何修饰符。 否则,您可以选择适当的选项以显式将常量标记为public、private或protected。按下 Tab 或 Enter 以完成重构。

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

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