Cita:
Iniciado por Erume ¡Hola!.
$i=1;
$objetos[i]->mostrar();
Me sale error en el servidor. Por tanto, no me deja recorrer el array con un bucle para ir imprimiendo todo su contenido. ¿Estoy haciendo algo mal?.
Amén que ya te dieron la solución al problema, dos acotaciones:
- Ten el control de lo que que imprimen los objetos, no dejes que hagan un echo cuando quieran, solo retorna String
- Aprovecha y usa el toString en cada elemento, que cada uno sepa cómo "convertirse en una cadena de texto" y no necesitas usar un método "mostrar".
Por ejemplo:
Código PHP:
class Div
{
private $_contenido;
public function __construct($texto)
{
$this->_contenido = $texto;
}
public function __toString()
{
return '<DIV>'.$this->_contenido.'</DIV>';
}
}
$objetos[] = new Div('contenido');
$objetos[] = new Div('otro contenido');
foreach($objetos as $objeto){
echo $objeto;
}