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)

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

在PHP中使用預處理語句和PDO可以有效防範SQL注入攻擊。 1)使用PDO連接數據庫並設置錯誤模式。 2)通過prepare方法創建預處理語句,使用佔位符和execute方法傳遞數據。 3)處理查詢結果並確保代碼的安全性和性能。

PHP在數據庫操作和服務器端邏輯處理中使用MySQLi和PDO擴展進行數據庫交互,並通過會話管理等功能處理服務器端邏輯。 1)使用MySQLi或PDO連接數據庫,執行SQL查詢。 2)通過會話管理等功能處理HTTP請求和用戶狀態。 3)使用事務確保數據庫操作的原子性。 4)防止SQL注入,使用異常處理和關閉連接來調試。 5)通過索引和緩存優化性能,編寫可讀性高的代碼並進行錯誤處理。

PHP用於構建動態網站,其核心功能包括:1.生成動態內容,通過與數據庫對接實時生成網頁;2.處理用戶交互和表單提交,驗證輸入並響應操作;3.管理會話和用戶認證,提供個性化體驗;4.優化性能和遵循最佳實踐,提升網站效率和安全性。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。
