Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/07/2012, 18:17
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 22 años
Puntos: 65
Error al cambiar un array normal dentro de una clase por un ArrayObject

Buenas.

Estoy creando una clase llamada "Eventos" para mostrar los resultados de dicha tabla como prueba, todo ello con un array normal.

Código PHP:
class Eventos
{
    
//private $evento;
    
    
public function __construct()
    {
        
$this->evento=array();
    }
    
    public function 
get_eventos()
    {
        
$sql="Select *  from eventos";
        
$res=mysql_query($sqlConectarBd::conectar());        
        if(!
$res)
        {
            throw new 
Exception ("Error en la consulta:"mysql_error());            
        }        
        while(
$reg=mysql_fetch_assoc($res))
        {                
            
$this->evento[]=$reg;
        }
            return 
$this->evento;
    }

Y para mostrar los restultados hago esto:

Código PHP:
$obj_e = new Eventos();
$ver_eventos $obj_e->get_eventos();
    for(
$i=0;$i<sizeof($ver_eventos);$i++)
    {
        echo 
"Responsable: " .$ver_eventos[$i]["responsable"]."<br />";
        echo 
"Evento: " .$ver_eventos[$i]["evento"]."<br />";
        echo 
"Fecha: " .$ver_eventos[$i]["fecha"];
    } 
Y todo bien.

Ahora si hago una prueba de ArrayObject con un for de esta manera todo bien:

Código PHP:
$eventos_e= new ArrayObject(array("Jorguito""Panolo""Andrei"));
for(
$iterator $eventos_e->getIterator(); $iterator->valid();$iterator->next())
 {

    echo 
$iterator->key();
    echo 
"-";
    echo 
$iterator->current();
    echo 
"<br>";

Sin embargo ahora trato de aplicar eso a la clase anterior y no soy capaz, por ejemplo cambio en __contruct a ArrayObject pero luego no me salen las opciones correspondientes como me salían con un ArrayObject sin estar en una clase:

Código PHP:
public function __construct()
    {
        
//$this->evento=array();
        
$this->eventoArrayObject(array());
    } 
¿Como podría aplicarlo en esa misma clase?