I have a collection of custom objects (Podcast) in an array.
When I use a foreach loop to iterate through this collection, I don't have code completion on the variable that contains the object pulled out of the collection (as I would in C#/VisualStudio for instance).
Is there a way to give PHP a type hint so that Eclipse knows the type of the object being pulled out of the collection so it can show me the methods on that object in intellisense?

<?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;
    }
}
?>
Thanks, Fanis, I updated my FOREACH template to include that line automatically:
if(count(${lines}) > 0) {
    foreach(${lines} as ${line}) {
        /* @var $$${var} ${Type} */
    }
}

Yes, try:
foreach($this->collection as $podcast) {
    /* @var $podcast Podcast */
    $r .= '<li>' . $podcast->getTitle() . '</
}
It's been a while since I used Eclipse but I recall it used to work there too.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With