翻譯|使用教程|編輯:鮑佳佳|2021-08-10 09:34:57.280|閱讀 325 次
概述:在PhpStorm 2021.2中,你可以使用通用類集合。簡而言之,你可以得到更多無錯誤的代碼和更好的代碼完成度。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
PhpStorm 是 JetBrains 公司開發的一款商業的 PHP 集成開發工具,旨在提高用戶效率,可深刻理解用戶的編碼,提供智能代碼補全,快速導航以及即時錯誤檢查。本次更要點如下:
盡管根據JetBrains開發者生態系統的調查,泛型是PHP語言最需要的功能之一,但目前還沒有計劃在短期內添加它們。在這個版本中,將通過PHPDoc注釋來增加對泛型的基本支持。這種方法是由靜態分析工具如Psalm和PHPStan推廣的。
在PhpStorm 2021.2中,你可以使用通用類集合。簡而言之,你可以得到更多無錯誤的代碼和更好的代碼完成度。
下面是一個@template注釋的集合類的簡單例子。
使用Doctrine Collections,您已經可以在簡單的場景中完成代碼:
Collection下一次更新將支持迭代 Doctrine 的界面。請務必查看票證WI-61438,以便您收到有關新更改的通知。
僅支持一級深度
類型推斷和補全僅適用于 PhpStorm 中的一級泛型,即像Base<T>or 之類的泛型Base<T1, T2>。對于此類注釋,PhpStorm 將理解T類型。
Base<Child<T>>由于性能開銷,不支持嵌套泛型,并且將來可能不會支持。
泛型的另一個應用是容器和工廠。對于這樣的代碼,通常將類名字符串作為參數傳遞并作為結果接收對象。
如果您使用@class-string<T>標簽注釋參數,PhpStorm 將為您提供適當的類型推斷:
事實上,如果您使用new運算符從參數實例化一個對象,則無需添加@class-string注釋——它只是開箱即用:
將繼續逐步引入對泛型的支持。計劃在未來的更新中添加一些已知功能缺失:
新版翻譯器預計11月下旬發布。按照我們的傳統,將盡早開始推出對新功能的支持。
最重要和最受期待的特性之一當然是enums。
使用關鍵字enum和case來聲明一個枚舉。PhpStorm會幫助你進行自動完成,如果有什么不符合語言語法的地方,會讓你知道。
枚舉可以用作參數、返回值和類屬性中的類型聲明。PhpStorm 將檢查類型并在編輯器窗口中突出顯示違規。
您可以通過快速修復快速創建新案例。輸入case用法,就像它已經存在一樣,然后按Alt+Enter并選擇Add enum case。
默認情況下,枚舉的情況是簡單的單例對象。但是如果您想將它們保存到數據庫或類似的數據存儲中,那么您可以為案例定義標量值。
具有標量等效項的枚舉稱為支持枚舉。
如果您定義了一個標準枚舉(單元枚舉),然后決定將其作為支持枚舉,PhpStorm 有一個快速修復程序可以為整個枚舉添加類型。按Alt+Enter 突出顯示的 case 值并選擇要添加`: %type%`到聲明的選項。
你知道你可以調用enum Enum嗎?這是因為它被定義為一個上下文關鍵字,而不是一個單獨的保留字。所以它不應該與你可能有的任何現有的用戶地枚舉實現相沖突。
你可以在枚舉中聲明自定義方法,但不能聲明構造函數、析構函數、屬性、動態屬性或魔法方法(除了 __call、__callStatic 和 __invoke)。PhpStorm會檢查是否有違規行為,并為你突出顯示。
這就是枚舉的全部內容。如果您對如何改進支持有任何想法,請告訴我們。
雖然 PHP 有一個很好的對象系統,但當定義一個真正的類感覺過度時,它可以方便地使用簡單的數據結構或類對象數組。
我們正在添加對 PHPDoc 語法的支持,以便您現在可以定義數組的結構。這意味著 PhpStorm 將為鍵提供代碼完成并推斷值的類型。
這僅限于單行定義。尚不支持多行語法和嵌套數組形狀。請繼續關注更新。
長期以來,PhpStorm在格式化方面有一些奇怪。雖然它在大多數情況下運行良好,但在一些邊緣情況下,這些問題會讓人非常惱火。
在PhpStorm 2021.2中,我們決定修復所有懸而未決的格式化問題,所以你總是能得到你期望的東西
要格式化你的代碼,請按Cmd+Alt+L。這也適用于文件和選區。
所有的代碼風格選項都可以在Settings/Preferences | Editor | Code Style | PHP中找到。
如果有格式問題,PhpStorm的一些功能有時會無法使用。例如,當把列表分割成獨立的行或反過來把它們合并成一行時,格式問題會導致問題。
在數組、參數列表或參數列表中,你現在只需按下Alt+Enter,然后選擇將逗號分隔的值分割成多行。
為列表使用多行時,您可以選擇如何對齊項目。例如,對于帶有類型聲明的參數,您可以通過在列中對齊類型和名稱來使它們更具可讀性:
====================================================
想要了解或購買PhpStorme正版授權的朋友,歡迎
JetBrain技術交流群現已開通,QQ搜索群號“786598704”或者掃描下方二維碼即可加入
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: