Как мне получить intellisense в PHP / Eclipse для пользовательских объектов, извлеченных из массива в цикле foreach?

У меня есть коллекция настраиваемых объектов (подкаст) в массив.

Когда я использую цикл foreach для итерации по этой коллекции, я не t иметь завершение кода для переменной, которая содержит объект, извлеченный из коллекции (как, например, в C # / VisualStudio).

Есть ли способ дать PHP подсказку типа, чтобы Eclipse знает тип объекта, извлекаемого из коллекции, поэтому он может показать мне методы этого объекта в intellisense?

alt text

<?php

$podcasts = new Podcasts();
echo $podcasts->getListHtml();

class Podcasts {
    private $collection = array();

    function __construct() {
        $this->collection[] = new Podcast('This is the first one');
        $this->collection[] = new Podcast('This is the second one');
        $this->collection[] = new Podcast('This is the third one');
    }

    public function getListHtml() {
        $r = '';
        if(count($this->collection) > 0) {
            $r .= '<ul>';
            foreach($this->collection as $podcast) {
                $r .= '<li>' . $podcast->getTitle() . '</li>';
            }
            $r .= '</ul>';
        }       
        return $r;
    }
}

class Podcast {

    private $title;

    public function getTitle() { return $this->title; }
    public function setTitle($value) {  $this->title = $value;}

    function __construct($title) {
        $this->title = $title;
    }

}

?>

Дополнение

Спасибо, Фанис, я обновил свой шаблон FOREACH, чтобы включить эту строку автоматически:

if(count(${lines}) > 0) {
    foreach(${lines} as ${line}) {
        /* @var $$${var} ${Type} */

    }
}

alt text

10
задан Edward Tanguay 19 September 2010 в 03:54
поделиться