2012-03-17 15 views
4

クラスの戻り値を示す@returnというPHP DocBlockを作成するにはどうすればよいですか?これは私がこれらの戻り値のための私のIDEを通じてインテリセンスを取得するためにこれを使用PHP docBlock @return className

/** 
* This returns an object of the "User" class 
* @return User 
*/ 
public function getUser() { return $this->user; } 

を行うことで、現時点では非常に簡単です。 (私のケースではNetbeans)

しかし、私は変数名に基づいてクラスを返すクラスを持っています。 (例:)

/** 
* This returns an object of the $param 
* @param String $className 
* @return ??? 
*/ 
public function getSomeObject($className) { return new $className(); } 

のために、私はこのaswellのためのインテリセンスを作成しようとしているが、私は、これは実際に可能であるかはわかりません。例えば

私は

+0

インテリジェンスとは?何が表示され、何を表示したいのですか? – jpic

+1

Intelissenseは、特定の機能やクラスなどについて、自動補完と詳細情報をIDEが表示する可能性があります。[Screenshot](http://oi42.tinypic.com/6gj413.jpg) –

+1

IDEとは何か、それに応じて、答えを希望します。しかし、Addressが実際に 'Address'を評価せずに返されることを知ることはできないようです...そのための機能があれば、それはIDE固有であり、phpdocに関係しません。 – jpic

答えて

3

(アドレスのオブジェクトが含まれています)私は私のIDEは、変数$ varにはインテリセンス私を表示したいと思い

$someClass = new MyClass(); 
$var = $someClass->getSomeObject('Address'); 

を呼び出したときにそれがあることを言及する意味になるだろうこの方法は、次のようなオブジェクトを返す次のようないくつかの詳細を最終的

/** 
* [...] 
* @return object 
*/ 

* @return object Object of class $className 

docs for @returnを参照してください。

+0

具体的には特定のスーパークラスのサブクラス、つまり '@return Person'であり、' Person'を継承する(継承する)クラスである 'Employee'や' Musician'や 'Sportsman'を実際に返します。 –

+0

マーティンの非常に良い点 – jpic

+0

ありがとう。 しかし、私は今、そのメソッドの結果を使用すると、$ classNameのintelissenseを取得しようとしています。 (私は明確にするために私の質問を修正した) –

1

あなたがすべて潜在的な戻り値の型を一覧表示することができない限り、

@return User|Address|Sandwich|Coiture 

IDEは集約その全体からすべてのメソッド/プロパティを自動補完を可能にすることができるようクラスのリスト、それから私はそれを可能な限り表示されません。

関連する問題