搜尋
首頁後端開發php教程PHP:跳過無聊的部分並按 Tab!

Phpstorm 是一款適合 PHP 開發人員的優秀 IDE。雖然它不是免費的,但您可以獲得非常酷的功能,例如實時模板

?鍵入fore 和 tab

即時範本是為您的編輯器量身訂做的擴充功能。

PhpStorm 已經為各種上下文提供了有用的擴展,預設包括 PHP。

您可以在「設定」>「設定」中查看編輯>即時範本:

PHP: Skip the boring part & press Tab!

fore 消除了手動輸入 foreach 迴圈的麻煩。

如果您輸入 f、fo 或 for,您可能會在列表中排在最前面,但請確保您選擇的是 fore 而不是 foreach,這在這裡不會發揮作用:

PHP: Skip the boring part & press Tab!

前面輸入的時間有點長,但可以更安全地獲得所需的模板。它也應該有一個描述(foreach iterable_expr as $value)。

即時模板允許方便地自訂變數名稱:

PHP: Skip the boring part & press Tab!

然後,只需按 ⇥Tab 即可展開整個 foreach 區塊。

注意:我在演示中使用滑鼠,但我的想法是堅持使用鍵盤。

?即時模板是上下文相關的

上下文可以更好地組織並減少編輯器中的噪音。

例如,您不需要前展開來編輯 HTML 檔案。

這就是為什麼這個即時模板只適用於 PHP:

PHP: Skip the boring part & press Tab!

您可以建立自訂模板群組,將即時模板套用到一個或多個群組,並定義自訂變數來控制渲染。

您甚至可以定義如何使用鍵盤擴充模板(例如,Tab、Enter 與空格)。

☄️ 享受預設模板

不要一次又一次地輸入相同的結構:

public static function ()
{

}

只需輸入 pu 或 pub,選擇 pubsf 即時模板,然後按 ⇥Tab:

PHP: Skip the boring part & press Tab!

來源:官方文件 - 即時範本

?️ 讓自訂擴展

您可以建立自訂即時範本來滿足您的需求。

前往「設定」>編輯>即時模板,選擇 PHP 模板群組,然後按下按鈕新增新的即時模板:

PHP: Skip the boring part & press Tab!

您會得到類似以下內容:

PHP: Skip the boring part & press Tab!

特別注意名為「適用上下文」的複選框(此處為「PHP 語句」)。

如果您在編輯器中沒有看到即時模板,可能是因為您忘記配置某些內容或您的案例與任何選取的項目都不匹配。

透過此設置,您可以獲得高級粒度,因此相應地更改適用的上下文以使您的擴充工作。

?你好世界:新增您的第一個模板

讓我們新增一個即時模板來新增override 屬性(PHP 8.3),這意味著如果一個方法明確重寫其父類,而父類沒有該方法(不再),則會觸發錯誤:

PHP: Skip the boring part & press Tab!

現在,當您在編輯器中輸入內容時,您會獲得 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 變數嗎?

PHP: Skip the boring part & press Tab!

即時修改名稱非常方便,不是嗎?

要了解其工作原理,只需編輯模板變數並檢查關聯的表達式:

PHP: Skip the boring part & press Tab!

內建表達式允許非常進階的自訂,例如智慧型自動完成、名稱建議,甚至是正規表示式。

複製現有模板

您可以右鍵單擊清單中的任何即時範本來複製它。如果您檢查剪貼板,您將看到類似以下 XML 的內容:

<template name="over" value="#[\Override]" description="add override attribute" toreformat="true" toshortenfqnames="true">
  <context>
    <option name="PHP" value="true"></option>
  </context>
</template>

從現有模板開始一個新的即時模板非常有用。

但是,在這種情況下,您寧願使用重複按鈕(位於刪除按鈕“-”右側):

PHP: Skip the boring part & press Tab!

?分享您的模板

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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
unset()和session_destroy()有什麼區別?unset()和session_destroy()有什麼區別?May 04, 2025 am 12:19 AM

Thedifferencebetweenunset()andsession_destroy()isthatunset()clearsspecificsessionvariableswhilekeepingthesessionactive,whereassession_destroy()terminatestheentiresession.1)Useunset()toremovespecificsessionvariableswithoutaffectingthesession'soveralls

在負載平衡的情況下,什麼是粘性會話(會話親和力)?在負載平衡的情況下,什麼是粘性會話(會話親和力)?May 04, 2025 am 12:16 AM

stickysessensureuserRequestSarerOutedTothesMeServerForsessionDataConsisterency.1)sessionIdentificeAssificationAssigeaSsignAssignSignSuserServerServerSustersusiseCookiesorUrlModifications.2)一致的ententRoutingDirectSsssssubsequeSssubsequeSubsequestrequestSameSameserver.3)loadBellankingDisteributesNebutesneNewuserEreNevuseRe.3)

PHP中有哪些不同的會話保存處理程序?PHP中有哪些不同的會話保存處理程序?May 04, 2025 am 12:14 AM

phpoffersvarioussessionsionsavehandlers:1)文件:默認,簡單的ButMayBottLeneckonHigh-trafficsites.2)Memcached:高性能,Idealforsforspeed-Criticalapplications.3)REDIS:redis:similartomemememememcached,withddeddeddedpassistence.4)withddeddedpassistence.4)databases:gelifforcontrati forforcontrati,有用

PHP中的會話是什麼?為什麼使用它們?PHP中的會話是什麼?為什麼使用它們?May 04, 2025 am 12:12 AM

PHP中的session是用於在服務器端保存用戶數據以在多個請求之間保持狀態的機制。具體來說,1)session通過session_start()函數啟動,並通過$_SESSION超級全局數組存儲和讀取數據;2)session數據默認存儲在服務器的臨時文件中,但可通過數據庫或內存存儲優化;3)使用session可以實現用戶登錄狀態跟踪和購物車管理等功能;4)需要注意session的安全傳輸和性能優化,以確保應用的安全性和效率。

說明PHP會話的生命週期。說明PHP會話的生命週期。May 04, 2025 am 12:04 AM

PHPsessionsstartwithsession_start(),whichgeneratesauniqueIDandcreatesaserverfile;theypersistacrossrequestsandcanbemanuallyendedwithsession_destroy().1)Sessionsbeginwhensession_start()iscalled,creatingauniqueIDandserverfile.2)Theycontinueasdataisloade

絕對會話超時有什麼區別?絕對會話超時有什麼區別?May 03, 2025 am 12:21 AM

絕對會話超時從會話創建時開始計時,閒置會話超時則從用戶無操作時開始計時。絕對會話超時適用於需要嚴格控制會話生命週期的場景,如金融應用;閒置會話超時適合希望用戶長時間保持會話活躍的應用,如社交媒體。

如果會話在服務器上不起作用,您將採取什麼步驟?如果會話在服務器上不起作用,您將採取什麼步驟?May 03, 2025 am 12:19 AM

服務器會話失效可以通過以下步驟解決:1.檢查服務器配置,確保會話設置正確。 2.驗證客戶端cookies,確認瀏覽器支持並正確發送。 3.檢查會話存儲服務,如Redis,確保其正常運行。 4.審查應用代碼,確保會話邏輯正確。通過這些步驟,可以有效診斷和修復會話問題,提升用戶體驗。

session_start()函數的意義是什麼?session_start()函數的意義是什麼?May 03, 2025 am 12:18 AM

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器