Tengo una colección de objetos personalizados (Podcast) en una matriz.¿Cómo puedo obtener intellisense en PHP/Eclipse en objetos personalizados sacados de la matriz en el bucle foreach?
Cuando uso una foreach bucle para iterar a través de esta colección, no tengo código de finalización sobre la variable que contiene el objeto sacado de la colección (como lo haría en C#/VisualStudio por ejemplo) .
¿Hay alguna manera de darle a PHP una sugerencia de tipo para que Eclipse sepa el tipo de objeto que se está extrayendo de la colección para que pueda mostrarme los métodos de ese objeto en 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;
}
}
?>
Adición
Gracias, Fanis, he actualizado mi plantilla FOREACH para incluir esa línea de forma automática:
if(count(${lines}) > 0) {
foreach(${lines} as ${line}) {
/* @var $$${var} ${Type} */
}
}
Buenas cosas :) Buen uso de plantillas también. – Fanis