# 創建和編輯模板變量
在這個頁面中:
* [基礎](#基礎)
* [在模板中配置和使用變量](#在模板中配置和使用變量)
* [在動態模板變量中使用的預定義變量](#在動態模板變量中使用的預定義變量)
## <span id='基礎'>基礎</span>
在一個[模板](/如何使用/常規指南/動態模板/README.md)展開之后,它的變量編輯器中呈現為輸入區域。這些區域的值可以被用戶編輯或者被PhpStorm計算填充。
要讓它自動完成,每個變量你需要指定下面:
* 表達式,與變量相關的表達式來被計算
* 默認值,如果計算失敗那么輸入區域要被寫入的默認值
PhpStorm中展開表達式之后輸入區域的處理順序,取決于列表中變量的順序。
**<span id='在模板中配置和使用變量'>在模板中配置和使用變量</span>**
1. [打開模板設置](/如何使用/常規指南/動態模板/創建和編輯動態模板.md),然后在[模板文本](/參考/設置參數對話框/編輯器/動態模板/README.md#模板編輯區域)區域點擊**Edit Variables**按鈕。
**Edit Variables**按鈕僅在模板主體中包含至少一個用戶定義變量時可用,也就是說,和`$END$`或`$SELECTION$`不同的變量。
[編輯模板變量對話框](/參考/設置參數對話框/編輯器/動態模板/編輯模板變量對話框.md)打開了,在這你可以定義當模板使用時變量將被如何處理。
2. 在**Name**文本框,指定要在模板主體中使用的變量名。
3. 在**Expression**下拉列表中,指定要被PhpStorm計算的表達式當模板展開后。執行以下操作之一:
* 輸入一個在兩個引號中的字符串常量
* 輸入一個預定義函數及可能的參數或者從下拉列表中選擇一個
一個函數的參數可能是一個常量或者另一個預定義函數。參見頁面下方的[預定義函數列表](#在動態模板變量中使用的預定義變量)。
4. 要啟用PhpStorm來處理下一個輸入區域,如果一個輸入區域關聯的當前變量已經定義,選擇**Skip if defined**復選框
5. 要安排PhpStorm切換變量相應的輸入框的順序,使用**Move Up**或**Move Down**按鈕。
## <span id='在動態模板變量中使用的預定義變量'>在動態模板變量中使用的預定義變量</span>
|**Item**|**Description**|
|---|---|
|`camelCase(String)`|返回作為參數傳遞的字符串,轉換為駝峰式寫法。例如`my-text-file`/`my text file`/`my_text_file`將被轉換為`myTextFile`|
|`capitalize(String)`|將作為參數傳遞的名字的首字母大寫|
|`capitalizeAndUnderscore(sCamelCaseName)`|將作為參數傳來的駝峰式名字轉為首字母大寫,并在單詞重建插入下劃線。例如,如果傳來的參數是`FooBar`,那么函數返回`FOO_BAR`。|
|`classNameComplete()`|這個表達式用來在變量位置替換[類名稱](/如何使用/常規指南/代碼補全/README.md)|
|`clipboard()`|返回系統剪貼板的內容|
|`snakeCase(String)`|從蛇形字符串返回駝峰式寫法的字符串。例如,如果傳來的參數字符串是`foo_bar`,函數將返回`fooBar`。|
|`complete()`|這個表達式在變量位置代替行使代碼補全|
|`completeSmart()`|這個表達式在變量位置代替行使只能類型補全|
|`date(sDate)`|用指定格式返回當前系統日期。<br/>默認的,當前日期被返回為系統默認格式。然而,如果你用兩個引號指定日期格式,日期將被呈現為指定格式:<br/>|
|`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](https://en.wikipedia.org/wiki/Unix_time)|
|`underscoresToCamelCase(sCamelCaseText)`|從下環線分隔的字符串轉換為駝峰式寫法,例如,如果傳來的參數是`foo_bar`,那么函數返回值就是`fooBar`|
|`underscoresToSpaces(sParameterWithSpaces)`|從下環線分隔的字符串轉換為空格分隔式寫法|
|`user()`|返回當前用戶名稱|
|`JsArrayVariable`|返回當前JavaScript數組名稱|
|`jsClassName()`|返回JavaScript類名稱|
|`jsComponentType`|返回當前JavaScript組件類型|
|`jsMethodName()`|返回當前JavaScript方法名稱|
|`jsQualifiedClassName`|返回當前JavaScript類的完整名稱|
|`jsSuggestIndexName`|返回索引的建議名稱|
|`jsSuggestVariableName`|返回變量的建議名稱|
# 另請參閱:
規程:
* [使用動態模板創建代碼結構](/如何使用/常規指南/生成代碼/使用動態模板創建代碼結構.md)
* [創建和編輯動態模板](/如何使用/常規指南/動態模板/創建和編輯動態模板.md)
參考:
* [動態模板](/參考/設置參數對話框/編輯器/動態模板/README.md)
* [編輯模板變量對話框](/參考/設置參數對話框/編輯器/動態模板/編輯模板變量對話框.md)
概念:
* [動態模板](/如何使用/常規指南/動態模板/README.md)
- 前言
- 初見PhpStorm
- 系統要求
- 安裝和啟動
- 注冊PhpStorm
- 快速開始引導
- 你不能錯過的:快捷鍵
- 第一步
- 創建和運行你的第一個PHP項目
- 創建和運行你的第一個Web項目
- 如何使用
- 常規指南
- 用戶界面引導
- 歡迎界面
- 菜單和工具欄
- 導航欄
- 狀態欄
- PhpStorm視圖模式
- 設置背景圖片
- PhpStorm編輯器
- 基礎編輯規程
- 在編輯器中打開和重新打開文件
- 在編輯器中關閉文件
- 在編輯器中選擇文本
- 剪切復制粘貼
- 在PhpStorm和資源管理器之間復制粘貼
- 在編輯器中使用拖放
- 注釋和取消注釋代碼塊
- 保存和撤銷更改
- 撤銷和重做更改
- 透鏡模式
- 多插入符
- 草稿
- 在編輯器中縮放
- 高級編輯規程
- 添加刪除和移動代碼元素
- 添加編輯器到收藏夾
- 改變縮進
- 代碼折疊
- 基礎
- 代碼折疊方法
- 折疊預定義和自定義區域
- 折疊菜單的命令和關聯的快捷鍵
- 指定代碼折疊偏好
- 查看折疊的代碼片段
- 使用代碼折疊注釋
- 查看當前插入符位置
- 格式化代碼
- 切換可寫狀態
- 切換大小寫
- 高亮括號
- 拼寫檢查
- 連接行和文字
- 分割字符串為多行
- 在表格格式編輯CSV和類似文件
- 在編輯器中使用宏
- 錄制宏
- 回放宏
- 編輯宏
- 綁定宏到快捷鍵
- 管理編輯器標簽頁
- 配置編輯器標簽行為
- 在不同標簽頁之間跳轉
- 鎖定和解鎖標簽頁
- 分割和合并編輯窗口
- 分離編輯器標簽
- 使用標簽組編輯多文件
- 改變編輯器標簽頭的位置
- 編輯器標簽排序
- 使用TODO
- 定義TODO模式和過濾器
- 創建TODO項
- 查看TODO項
- PhpStorm工具窗
- 操作工具窗
- 指定工具窗的外觀設置
- 在工具窗快速搜索
- 查看模式
- 管理項目收藏夾
- 配置項目和IDE設置
- 訪問默認設置
- 訪問設置
- 配置代碼風格
- 配置顏色和字體
- 為控制臺配置配色方案
- 配置項目文件編碼
- 配置單獨的文件編碼
- 配置快捷鍵
- 配置行分隔符
- 配置菜單和工具欄
- 配置快速訪問列表
- 配置區塊和文件顏色
- 配置第三方工具
- 復制代碼風格設置
- 創建和注冊文件類型
- 導入和導出設置
- 分享你的IDE設置
- 在方案之間切換
- 切換引導JDK
- 配置項目結構
- 配置根目錄
- 在根目錄中配置文件夾
- 在項目中排除文件
- 創建和管理項目
- 從頭創建新項目
- 從現有代碼導入項目
- 從本地代碼創建項目
- 從下載的文件創建項目
- 從框架模板生成項目
- 使用Yeoman生成器創建項目
- 打開、重新打開和關閉項目
- 打開多個項目
- 保存項目為模板
- 清空系統緩存
- 重命名項目
- 文件和代碼模板
- 解析指令
- 文件模板變量
- 創建和編輯文件模板
- 動態模板
- 簡易、參數化和環繞模板
- 動態模板縮寫
- 動態模板變量
- 動態模板組
- 創建和編輯動態模板
- 創建和編輯模板變量
- 分享動態模板
- 填充項目
- 創建目錄
- 從模板創建文件
- 創建空文件
- 創建PHP類接口和特性
- 生成代碼
- 使用動態模板創建代碼結構
- 使用環繞模板創建代碼結構
- 生成Getter和Setter
- 打開和移除語句
- 包住標簽,應用環繞模板的例子
- 使用排列規則重新整理代碼
- 用語言結構環繞代碼塊
- 使用后綴模板
- 代碼補全
- 基本代碼補全:補全名稱和關鍵字
- 智能類型代碼補全:基于輸入信息補全代碼
- 補全語句
- 補全路徑
- 補全標點
- 補全標簽名稱
- 展開單詞
- 使用建議列表
- 創建和優化導入
- 創建導入
- 優化導入
- 代碼檢查
- 訪問檢查設置
- 分析檢查結果
- 配置檢查嚴重性
- 改變當前文件高亮級別
- 自定義配置文件
- 禁用和啟用檢查
- 改變區塊順序
- 導出檢查結果
- 解決問題
- 抑制檢查
- 運行檢查
- 通過名稱運行檢查
- 離線運行檢查
- 自動應用快速修復
- 意向動作
- 應用意向動作
- 配置意向動作
- 禁用意向動作
- 查看頁面Web內容
- 配置瀏覽器
- 在瀏覽器中預覽頁面Web內容
- 在編輯器中查看Web頁面的HTML代碼
- 查看參考信息
- 查看定義
- 查看內聯文檔
- 查看外部文檔
- 查看方法參數信息
- 瀏覽源代碼
- 使用書簽跳轉
- 管理書簽
- 在文件和工具窗之間跳轉
- 在IDE組件之間跳轉
- 在方法和標簽之間跳轉
- 在測試和測試主題之間跳轉
- 跳轉到動作
- 跳轉到大括號
- 根據名稱跳轉到類、文件或符號
- 跳轉到自定義折疊區域
- 跳轉到符號的聲明或類型聲明
- 跳轉到超級方法或實現
- 跳轉到文件路徑
- 跳轉到行
- 跳轉到下一個或上一個更改
- 跳轉到下一個或上一個錯誤
- 跳轉到近期文件
- 跳轉到已瀏覽項目
- 使用導航欄跳轉
- 使用結構視圖跳轉
- 使用面包屑跳轉
- 搜索代碼
- 在文件中查找替換文本
- 在項目中查找替換文本
- 查找引用
- 在項目中查找引用
- 在當前文件查找引用
- 高亮引用
- 查看符號引用
- 查看近期查找引用
- 在插入符處查找詞語
- 使用搜索結果
- 搜索全部
- 結構搜索和替換
- 搜索模板
- 結構搜索和替換-常規步驟
- 創建和編輯搜索模板
- 結構搜索和替換示例
- 重構代碼
- 分析應用程序
- 運行調試配置
- 運行
- 調試
- 測試
- 代碼覆蓋率
- 服務端作業:拷貝文件
- 使用本地歷史
- 版本控制概念
- 管理插件
- 管理任務和內容
- 使用命令行工具
- 使用文件觀察者
- 使用嵌入式本地終端
- 從命令行啟動PhpStorm特性
- 使用后臺任務
- 使用語言注入
- 比較文件和文件夾
- 選擇文件或文件夾
- 在PhpStorm和文件管理器之間復制粘貼
- 教程
- 參考
- 獲取幫助