Estoy avergonzado
. Acabo de revisar la documentación de PHP5 y tenéis razón: sobra un carácter $. Olvidé por completo el tema de las variables variables...
Quitando los dólares que sobran funciona correctamente:
Código PHP:
<?php
class phpDocTextItem
{
protected $Text; # Contiene el texto.
## __construct:
## Constructor. Almacena el texto pasado.
function __construct ($Text)
{
if (!is_string ($Text)) die ('phpDocTextItem need to get a text string');
$this->Text = $Text;
}
## toString:
## Devuelve la cadena.
public function toString ()
{
echo ('phpDocTextItem::toString -> '); print_r ($this); echo ('<br>');
return $this->Text;
}
}
class phpDocItemContainer
{
protected $ItemList; # El contenido del contenedor.
## addItem:
## Añade un elemento a la lista.
public function addItem ($Item)
{
$this->ItemList[] = $Item;
echo ('phpDocItemContainer::addItem -> '); print_r ($this); echo ('<br>');
}
## toString:
## Devuelve una cadena que es la suma de todos los elementos contenidos.
public function toString ()
{
echo ('phpDocItemContainer::toString -> ');print_r ($this); echo ('<br>');
# Primero, tiene que haber contenido.
if (isset ($this->ItemList)) {
# Empezamos desde el principio.
$Resultado = "";
foreach ($this->ItemList as $Elemento)
$Resultado = $Resultado . $Elemento->toString ();
}
return $Resultado;
}
}
# Creamos un contenedor para ver qué tal.
$Contenedor = new phpDocItemContainer;
# Añadimos un elemento, por hacer el ganso.
$Contenedor->addItem (new phpDocTextItem ('¡Hola, Mundo!'));
$Contenedor->addItem (new phpDocTextItem ('¡Adios, Mundo!'));
# Resultado:
echo 'Resultado >>>>>>>>> ' . $Contenedor->toString ();
?>
Gracias a ambos por la ayuda.