• 动态模板变量
    • 什么是模板变量
    • 声明模板变量
    • 创建和编辑模板变量
    • 预定义模板变量
    • 在模板变量中使用预定义方法
  • 另请参阅:

    动态模板变量

    在这个页面中:

    • 什么是模板变量
    • 声明模板变量
    • 创建和编辑模板变量
    • 预定义模板变量
    • 在模板变量中使用预定义方法

    什么是模板变量

    在动态模板中模板变量允许用户输入。当一个模板展开后,模板出现在编辑器中作为输入字段

    声明模板变量

    模板中的变量按以下格式声明:

    1. $<variable_name>$

    创建和编辑模板变量

    变量通过表达式定义,并且可以接受默认值。

    表达式可能包含以下基础类型结构:

    • 两个引号中的字符串常量
    • 动态模板中定义的另一个变量的名字
    • 预定义函数及可能的参数

    模板变量可以在编辑模板变量对话框中编辑,这包含一个完整的可用函数列表。参见本页下方的预定义方法列表

    预定义模板变量

    PhpStorm提供两个预定义动态模板变量$END$$SELECTION$

    你不能编辑预定义动态模板变量$END$$SELECTION$

    • $END表明光标的位置在展开的模板之后。例如,模板return $END$;将展开到:
    1. return ;

    光标位置在分号之前。

    • $SELECTION$用在环绕模板中并且用来代表要被包围的代码片段。在模板展开之后,被选中的文本将在模板中被围绕。

    例如,如果你在代码中选择EXAMPLE并调用"$SELECTION$"模板(通过分配的缩写或按下Ctrl+Alt+T并从列表中选择目标的模板),PhpStorm将用两个引号包围选中的部分,就像下面:

    1. "EXAMPLE"

    在模板变量中使用预定义方法

    Item Description
    camelCase(String) 返回作为参数传递的字符串,转换为驼峰式写法。例如my-text-file/my text file/my_text_file将被转换为myTextFile
    capitalize(String) 将作为参数传递的名字的首字母大写
    capitalizeAndUnderscore(sCamelCaseName) 将作为参数传来的驼峰式名字转为首字母大写,并在单词重建插入下划线。例如,如果传来的参数是FooBar,那么函数返回FOO_BAR
    classNameComplete() 这个表达式用来在变量位置替换类名称
    clipboard() 返回系统剪贴板的内容
    snakeCase(String) 从蛇形字符串返回驼峰式写法的字符串。例如,如果传来的参数字符串是foo_bar,函数将返回fooBar
    complete() 这个表达式在变量位置代替行使代码补全
    completeSmart() 这个表达式在变量位置代替行使只能类型补全
    date(sDate) 用指定格式返回当前系统日期。
    默认的,当前日期被返回为系统默认格式。然而,如果你用两个引号指定日期格式,日期将被呈现为指定格式:
    指定日期格式
    decapitalize(sName) 用相应的小写字母替换作为参数传递的名字的首字母。
    enum(sCompletionString1,sCompletionString2,...) 用逗号分隔的字符串建议作为模板调用时的完成列表
    escapeString(sEscapeString) 避开指定的字符串
    expectedType() 返回整个模板期望的类型。这是有道理的,如果模板在正确的位置展开,在返回之后,等等
    fileName(sFileName) 返回带扩展名的文件名
    fileNameWithoutExtension() 返回文件名不要扩展名
    firstWord(sFirstWord) 返回作为参数传递的字符串的第一个单词
    lineNumber() 返回当前行号
    lowercaseAndDash(String) 返回作为参数传递的字符串以用破折号分隔的小写形式。例如,字符串MyExampleName转换为my-example-name
    snakeCase(sCamelCaseText) 从驼峰式写法的字符串返回蛇形字符串
    spaceSeparated(String) 传递来的驼峰式字符串转换为空格分隔的单词。例如,如果川里来的字符串参数是fooBar,那么返回值就是foo bar
    time(sSystemTime) 放回当前系统时间。
    timestamp() 这个参数没有参数,返回的是1970-1-1到现在的毫秒时间。参考文章Ubix time
    underscoresToCamelCase(sCamelCaseText) 从下环线分隔的字符串转换为驼峰式写法,例如,如果传来的参数是foo_bar,那么函数返回值就是fooBar
    underscoresToSpaces(sParameterWithSpaces) 从下环线分隔的字符串转换为空格分隔式写法
    user() 返回当前用户名称
    JsArrayVariable 返回当前JavaScript数组名称
    jsClassName() 返回JavaScript类名称
    jsComponentType 返回当前JavaScript组件类型
    jsMethodName() 返回当前JavaScript方法名称
    jsQualifiedClassName 返回当前JavaScript类的完整名称
    jsSuggestIndexName 返回索引的建议名称
    jsSuggestVariableName 返回变量的建议名称

    另请参阅:

    规程:

    • 创建和编辑模板变量

    参考:

    • 编辑模板变量对话框