PHP:跳過無聊的部分並按 Tab!
Phpstorm 是一款適合 PHP 開發人員的優秀 IDE。雖然它不是免費的,但您可以獲得非常酷的功能,例如實時模板。
?鍵入fore 和 tab
即時範本是為您的編輯器量身訂做的擴充功能。
PhpStorm 已經為各種上下文提供了有用的擴展,預設包括 PHP。
您可以在「設定」>「設定」中查看編輯>即時範本:
fore 消除了手動輸入 foreach 迴圈的麻煩。
如果您輸入 f、fo 或 for,您可能會在列表中排在最前面,但請確保您選擇的是 fore 而不是 foreach,這在這裡不會發揮作用:
前面輸入的時間有點長,但可以更安全地獲得所需的模板。它也應該有一個描述(foreach iterable_expr as $value)。
即時模板允許方便地自訂變數名稱:
然後,只需按 ⇥Tab 即可展開整個 foreach 區塊。
注意:我在演示中使用滑鼠,但我的想法是堅持使用鍵盤。
?即時模板是上下文相關的
上下文可以更好地組織並減少編輯器中的噪音。
例如,您不需要前展開來編輯 HTML 檔案。
這就是為什麼這個即時模板只適用於 PHP:
您可以建立自訂模板群組,將即時模板套用到一個或多個群組,並定義自訂變數來控制渲染。
您甚至可以定義如何使用鍵盤擴充模板(例如,Tab、Enter 與空格)。
☄️ 享受預設模板
不要一次又一次地輸入相同的結構:
public static function () { }
只需輸入 pu 或 pub,選擇 pubsf 即時模板,然後按 ⇥Tab:
來源:官方文件 - 即時範本
?️ 讓自訂擴展
您可以建立自訂即時範本來滿足您的需求。
前往「設定」>編輯>即時模板,選擇 PHP 模板群組,然後按下按鈕新增新的即時模板:
您會得到類似以下內容:
特別注意名為「適用上下文」的複選框(此處為「PHP 語句」)。
如果您在編輯器中沒有看到即時模板,可能是因為您忘記配置某些內容或您的案例與任何選取的項目都不匹配。
透過此設置,您可以獲得高級粒度,因此相應地更改適用的上下文以使您的擴充工作。
?你好世界:新增您的第一個模板
讓我們新增一個即時模板來新增override 屬性(PHP 8.3),這意味著如果一個方法明確重寫其父類,而父類沒有該方法(不再),則會觸發錯誤:
現在,當您在編輯器中輸入內容時,您會獲得 override 屬性,這消除了手動編寫的麻煩。
PhpStorm 使用 XML 儲存它:
public static function () { }
利用預定義變數
雖然這不是詳盡的列表,但這些預定義變數很重要:
Variable | Description |
---|---|
$END$ | Caret position after editing variables |
$SELECTION$ | Denotes the code fragment to be wrapped in surround templates |
$RETURN_TYPE$ | Return type of the function or method |
來源:文件 - 預定義變數
$SELECTION$ 用於更進階的用法。需要建立環繞模板:
public static function () { }
注意:請閱讀文件以正確配置您的環繞範本(您必須編輯變數)。
新增您自己的變數
還記得我們剛剛在 fore 看到的 $item 變數嗎?
即時修改名稱非常方便,不是嗎?
要了解其工作原理,只需編輯模板變數並檢查關聯的表達式:
內建表達式允許非常進階的自訂,例如智慧型自動完成、名稱建議,甚至是正規表示式。
複製現有模板
您可以右鍵單擊清單中的任何即時範本來複製它。如果您檢查剪貼板,您將看到類似以下 XML 的內容:
<template name="over" value="#[\Override]" description="add override attribute" toReformat="true" toShortenFQNames="true"> <context> <option name="PHP" value="true" /> </context> </template>
從現有模板開始一個新的即時模板非常有用。
但是,在這種情況下,您寧願使用重複按鈕(位於刪除按鈕“-”右側):
?分享您的模板
PhpStorm 將即時範本以 XML 檔案形式儲存在 IDE 配置目錄的 templates 目錄中:請參閱 idea.config.path。
複製貼上可能沒問題,但您可能想同步這些片段。例如,如果您為所有團隊成員維護和共用通用範本。
您也可以手動匯出和匯入所有即時模板。
注意:請閱讀本節以了解設定。
?我不需要那個。我有人工智慧。
您可以使用AI工具或啟用JetBrain AI助理(外掛程式),以便IDE可以根據您的使用情況進行預測。
不過,請先閱讀隱私權政策:
JetBrains AI 服務可以收集與 AI 功能使用相關的兩類資料:行為資料和詳細資料。這兩種類型的資料收集都完全由使用者控制。
來自 JetBrains AI Service 的資料被傳送給第三方語言模型提供者
我完全理解人工智慧的炒作,它在重複性任務方面做得很好。
根據我迄今為止的經驗,即時模板更加一致,並且不容易產生幻覺。
請注意,這並不意味著您不能組合這些工具,但請在按 ⇥Tab 之前仔細檢查 AI 建議。
?要有創意
以下是一些即時模板 (PHP) 的用例:
- 各種語言中的循環和常見結構
- 環繞區塊(例如,自訂 try/catch)
- 資料提供者的樣板(PHPUnit)
- 測試方法的樣板
- 包含特定關鍵字的phpdoc(例如@test、@dataprovider)
✅ 優點
- 高度可自訂(專注於領域)
- 省幾十次點擊
- 預設的即時模板非常棒!
- 僅適用於特定上下文(模板組)
❌ 缺點
- 寫入變數的語法可能很混亂,尤其是在環繞模板中(例如,$$$VARIABLENAME$)
- 如果您不使用範本群組或重新發明預設範本 ,範本可能是多餘的
包起來
即使是每天使用 PhpStorm 的開發團隊,這個功能也被低估了。
享受即時模板並按 ⇥Tab ?
以上是PHP:跳過無聊的部分並按 Tab!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

會話劫持可以通過以下步驟實現:1.獲取會話ID,2.使用會話ID,3.保持會話活躍。在PHP中防範會話劫持的方法包括:1.使用session_regenerate_id()函數重新生成會話ID,2.通過數據庫存儲會話數據,3.確保所有會話數據通過HTTPS傳輸。

RESTAPI設計原則包括資源定義、URI設計、HTTP方法使用、狀態碼使用、版本控制和HATEOAS。 1.資源應使用名詞表示並保持層次結構。 2.HTTP方法應符合其語義,如GET用於獲取資源。 3.狀態碼應正確使用,如404表示資源不存在。 4.版本控制可通過URI或頭部實現。 5.HATEOAS通過響應中的鏈接引導客戶端操作。

在PHP中,異常處理通過try,catch,finally,和throw關鍵字實現。 1)try塊包圍可能拋出異常的代碼;2)catch塊處理異常;3)finally塊確保代碼始終執行;4)throw用於手動拋出異常。這些機制幫助提升代碼的健壯性和可維護性。

匿名類在PHP中的主要作用是創建一次性使用的對象。 1.匿名類允許在代碼中直接定義沒有名字的類,適用於臨時需求。 2.它們可以繼承類或實現接口,增加靈活性。 3.使用時需注意性能和代碼可讀性,避免重複定義相同的匿名類。

在PHP中,include,require,include_once,require_once的區別在於:1)include產生警告並繼續執行,2)require產生致命錯誤並停止執行,3)include_once和require_once防止重複包含。這些函數的選擇取決於文件的重要性和是否需要防止重複包含,合理使用可以提高代碼的可讀性和可維護性。

PHP中有四種主要錯誤類型:1.Notice:最輕微,不會中斷程序,如訪問未定義變量;2.Warning:比Notice嚴重,不會終止程序,如包含不存在文件;3.FatalError:最嚴重,會終止程序,如調用不存在函數;4.ParseError:語法錯誤,會阻止程序執行,如忘記添加結束標籤。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。
