2016-09-29 10 views
1

オブジェクトのプロパティのクラスを示すことは可能ですか(ヒントタイプのため)コードの最終的な生成物は期待どおりに機能しますが、タイプヒントは機能しません。 $thisオブジェクトのプロパティをすべて私が今まで見てきたオブジェクトのプロパティのPHPDoc

/* @var $this->view \app\components\View */ 
    $this->view->title = 'Title here'; 

@var $thisまたは類似の参照していたが、決して:たとえば、以下は私が達成しようとしないのですが、それが動作しないかを示しています。これが可能なら、私は何が欠けていますか?

答えて

2

はい - あなたはクラスのプロパティを宣言したPHPDoc注釈適用する必要があります。それを宣言しなくても、クラスでそれに注釈を付ける方法はあり

class Foo 
{ 
    /* @var \app\components\View $view*/ 
    public $view; 

    public function __construct() 
    { 
      $this->view->title = 'Title here'; 
    } 
} 
+0

を?クラスFooがプロパティが宣言されているクラスBarを拡張する場合など私はビュープロパティの元の宣言を(ベンダーコードを介して)見つけるために、いくつかのクラスに戻る必要があります。 – justinvoelker

+0

私はそれを行う方法を知らない。あなたのIDEがあなたに合っていれば、スーパークラスのプロパティを再宣言することを選ぶと思います。 – HPierce

+0

スーパークラスは私のコントロールの外にあるので、簡単/実行可能ではありません。しかし、動作しているのは、私のクラスのプロパティを再宣言してから、使用する場所の内部で、値の親実装と同じに設定します。だから、私のクラスは空で始まりますが、使用されるまでには、それは何にすべきかに戻ります。助けてくれてありがとう! – justinvoelker

関連する問題