2010-07-02 23 views
4

比方說,我有一個函數返回SomeClass類型的對象。我有這樣的代碼:IDE的PHP類標識

$test = function_to_return_someclass(); 

現在我想用$測試變量的IDE,但我希望它明白,$測試類型SomeClass的的。我可以通過使用/ ** @var */comment輕鬆實現類變量,但這是我陷入困境的地方。因爲嘗試類似:

$test = (SomeClass)function_to_return_someclass(); 

不起作用,我如何指示IDE $ Test是SomeClass的對象?

+0

退房PhpStorm,它理應具有自定義類的代碼洞察http://www.jetbrains.com/ phpstorm/ – 2010-07-02 11:38:11

回答

4

你可以嘗試在函數定義使用@return

/** 
    * Generates an object of the class SomeClass 
    * @return SomeClass the class 
    */ 
function_to_return_someclass() 
{ 
    .... 
} 

它給你的IDE它是否足夠聰明去了解它。它應該,但是。

第二個辦法: 嘗試

/** 
    * My object. Recognize it already, damn IDE! 
    * @var SomeClass 
    */ 
$test = function_to_return_someclass(); 
+0

我有@return在我所有的方法。不知何故,它在某些情況下不理解。 – Marius 2010-07-02 11:28:21

+0

@Marius我看到了,我有類似的問題。我又添加了第二次嘗試。你爲什麼需要這樣加載類?也許使用自動加載器是一種選擇? – 2010-07-02 11:29:49

+0

@desc是什麼註釋?這個IDE是特定的嗎?它不在PHPDocumentor手冊中。 @var僅在聲明類變量時使用。並且在docblock和函數簽名之間不應該有一條線 – Gordon 2010-07-02 11:32:36

0

你可以嘗試:

/** 
* @return ClassToBeReturned 
*/ 
function_to_return_someclass() {}