簡體   English   中英

Netbeans和PHPStorm中的變量類型提示

[英]Variable type hinting in Netbeans and PHPStorm

我在一家員工都使用PHPStorm和Netbeans 8的公司工作。在我們最近開始為我們的代碼添加更多類型提示之前,我們一直都很好。

在PHPStorm中正確使用類型提示的方法就像這樣

/** @var MyAwesomeClass $theObject */
$theObject = $orm->getMyAwesomeObject();

這是有道理的,因為記錄函數的正確方法是

/**
 * @param MyAwesomeClass $awesomeObjectArgument
 * @param boolean $booleanArgumentsAreSilly
 */

但是netbeans就是這樣的

/** @var $theObject \Full\Freeking\Namespace\With\Leading\Backslash\MyAwesomeClass */

這是一個問題,因為參數的順序(對@var表示法)是相反的,而Netbeans使用PHPStorm不支持​​的前導斜杠。

有沒有人知道如何配置這些IDE中的任何一個使用相同的標准,因為目前只有一半的代碼具有工作自動完成功能。 對我來說,Netbeans中的實現似乎是不必要的,並且與PHPDocs標准(基於@param表示法)相沖突。

更新:我錯了,PHPStorm實際上與Netbeans表示法兼容,但不是相反。 意思是我的問題沒有完全解決。 我仍然需要找到一種方法來配置兩個IDE來生成在兩者中都有效的文檔。

這是一個問題,因為參數的順序(對@var表示法)是相反的,而Netbeans使用PHPStorm不支持​​的前導斜杠

這不是真的。

1. PhpStorm支持兩個命令( @var [type] [variable]以及@var [variable] [type]

2. PhpStorm支持PHPDoc注釋( /** @var ... )以及普通塊注釋( /* @var ...

3. PhpStorm支持FQN - 這很好用: /** @var $theObject \\Full\\Namespace\\MyAwesomeClass */

在此輸入圖像描述

盡管ashazg斷言沒有類型提示的PHPDoc標准,但http://phpdoc.org/docs/latest/references/phpdoc/tags/var.html上的官方文檔確實說明typehint應該在變量名之前,並且在文檔中沒有提到這個命令只是一個建議,任何人都可以使用他們自己的訂單。

此外,這種做法與大多數其他強類型語言一致,例如Java(public int speed)或C(int speed)。 因此,Netbeans不支持PHPDoc文檔中正確的typehint順序這一事實導致了很多痛苦。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM