PhpStorm 2025.2 Help

文件模板变量

一个 file template 可以包含变量,在应用模板时会被其值替换。 变量是一个以美元符号开头的字符串 $ ,后跟变量名。 变量名称可以选择性地用花括号括起来。 例如: $MyVariable${MyVariable} 是同一个变量的不同表示法。

在模板主体和文件名中可以使用预定义和自定义变量。 例如,如果您在模板的 文件名 字段中输入 MyFile_${MONTH_NAME_FULL} ,生成的文件会在四月份创建时命名为 MyFile_April。 这里, ${MONTH_NAME_FULL} 是一个 预定义变量。 如果您使用 自定义变量,那么 PhpStorm 会在您基于此模板创建文件时提示您输入变量值。

预定义模板变量

文件模板中可以使用以下预定义变量:

变量

描述

${DATE}

当前系统日期

${DAY}

当前日期

${DS}

美元符号 $。 该变量用于转义美元符号,使其不被视为模板变量的前缀。

${FILE_NAME}

新 PHP 文件的名称

${HOUR}

当前小时

${MINUTE}

当前分钟

${SECOND}

当前秒

${MONTH}

当前月份

${MONTH_NAME_FULL}

当前月份的全名(如一月、二月等)

${MONTH_NAME_SHORT}

当前月份名称的前三个字母(如 Jan、Feb 等)

${NAME}

新实体的名称(文件、类、接口等)

${NAMESPACE}

类或字段命名空间的完全限定名称(不带前导斜杠)

${PRODUCT_NAME}

IDE 名称(例如,PhpStorm)

${PROJECT_NAME}

当前项目的名称

${TIME}

当前系统时间

${USER}

当前用户的登录名

${YEAR}

当前年份

PhpStorm 为 PHP 包含模板提供了一组额外的变量,这些模板用于定义 可重用的代码片段 ,例如文件头和 PHPDoc 注释

以下额外的预定义变量可用于 PHP 包含模板

变量

描述

${CARET}

完成编辑变量后光标的位置。 仅在生成并插入 PHPDoc 注释时适用。 通过 代码 | 生成 | PHPDoc 块 创建 PHPDoc 注释时,可以对函数或方法进行多选。 在这种情况下,可以为多个类、函数、方法或字段创建文档注释,因此 ${CARET} 变量将被忽略。

${CLASS_NAME}

定义用于生成 PHPDoc 注释的字段或方法所在类的名称

${NAME}

生成 PHPDoc 注释的类、字段或函数(方法)的名称

${NAMESPACE}

类或字段命名空间的完全限定名称(不带前导斜杠)

${PARAM_DOC}

参数的文档注释。 计算为一组 @param type name 行。 如果用于生成注释的函数不包含任何参数,则计算为空字符串。

${STATIC}

如果用于生成 PHPDoc 注释的函数(方法)或字段是静态的,则替换为 static 关键字。 否则,计算为空字符串。

${THROWS_DOC}

异常的文档注释。 计算为一组 @throws type 行。 如果用于生成注释的函数不抛出任何异常,则计算为空字符串。

${TYPE_HINT}

用于生成 PHPDoc 注释的函数(方法)的返回值。 如果无法通过函数(方法)的静态分析检测到返回类型,则计算为 void

变量方法

由于 PhpStorm 使用 Velocity 作为文件模板的模板引擎,文件模板中的变量可以使用 Java String 方法。 例如,以下是可能的:

  • ${NAME.toUpperCase()} :将新实体(文件)的名称转换为大写字母。

  • ${PROJECT_NAME.length()} :打印项目名称的长度。

  • ${PRODUCT_NAME.substring(0,5)} :打印您使用的 IDE 名称的前五个字符。

自定义模板变量

除了预定义模板变量,还可以指定自定义变量。 如果必要,可以在模板中使用 #set 指令直接定义自定义变量的值。 在使用相应的变量之前编写指令。

例如,如果您希望使用您的全名而不是通过预定义变量 ${USER} 定义的登录名,请在自定义变量之前添加以下构造:

#set( $MyName = "John Smith" ) Created by: $MyName

如果变量的值在模板中未定义,PhpStorm将会在应用模板时要求您指定该值。

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