1

これも可能ですか?たとえば、私は犬の配列を持っているとします。コード補完を動作させるにはどうすればよいですか?問題を説明するコードは次のとおりです。どんな助言も素晴らしいだろう!これを行うにはZend Studio(または他のEclipseベースのIDE)のオブジェクトの配列に対するヒント/補完

class Dog { 

    private $name; 

    public static function init_many(array $names) { 
     foreach ($names as $n) { 
      $collection[] = new self($n); 
     } 
     return $collection; 
    } 

    public function __construct($n) { 
     $this->name = $n; 
    } 

    public function bark() { 
     return sprintf('woof! my name is %s', 
      $this->name 
     ); 
    } 
} 

$Scoobi = new Dog('scoobi'); 
$Scoobi->      // code hinting/completion works! 

$dogs = Dog::init_many(array('scoobi', 'lassie', 'bingo')); 
$dogs[0]->      // code hinting/completion doesn't work! 
+0

、私はここで (トップ結果の答えを見つけました配列コードのヒントについては):http://stackoverflow.com/questions/778564/phpdoc-type-hinting-for-array-of-objects – jusunlee

答えて

1

間接的な方法は、私が使用

$dogs = Dog::init_many(array('scoobi', 'lassie', 'bingo')); 
foreach ($dogs as & $dog) 
{ 
    /* @var $dog Dog */ 
    $dog->   //code hinting works here, 
        //I use this all the time itereting over doctrine collections 
} 
1
のZend Studioで、

11のようになります。

グーグルから来た人のため
/** 
* 
* @return Dog[] 
*/ 
public static function init_many(array $names) { 
    foreach ($names as $n) { 
     $collection[] = new self($n); 
    } 
    return $collection; 
} 
関連する問題