Foros del Web » Programando para Internet » PHP »

getIterator() on a non-object

Estas en el tema de getIterator() on a non-object en el foro de PHP en Foros del Web. Buenas tengo un problema, un amigo mio y yo estamos intentando programar un pequeño script. y resulta que me da el siguiente problema Fatal error: ...
  #1 (permalink)  
Antiguo 22/09/2010, 07:11
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1
Antigüedad: 13 años, 7 meses
Puntos: 0
getIterator() on a non-object

Buenas tengo un problema,
un amigo mio y yo estamos intentando programar un pequeño script.
y resulta que me da el siguiente problema

Fatal error: Call to a member function getIterator() on a non-object in /Clases.php
on line 16

espero que me puedan ayudar gracias antemano
aqui el codigo de Clases.php

Código PHP:
<?PHP

class Clases implements Iterator
{
    private 
$clases;
    private 
$puntero;

    public function 
addClase (Clase $clase)
    {
        
$this->clases[] = $clase;
    }
    
    public function 
getClase ($id)
    {
// aqui se encuentra el error//
    
$iterator $this ->clases->getIterator();  
        return 
"ok ".$id;
        while(
$iterator->valid())  
        {  
            
$clase $iterator->current();  
   
            if(
$clase->getId() == $id)  
            {  
                return 
$clase;  
            }  
               
            
$iterator->next(); 
        }

        return 
null;
    }

    public function 
current ()
    {
        if (! 
$this->valid())
            return 
false;
        if (empty(
$this->clases[$this->puntero]))
            return array();
        return 
$this->clases[$this->puntero];
    }

    public function 
key()
    {
        return 
$this->puntero;
    }

    public function 
next()
    {
        return ++ 
$this->puntero;
    }

    public function 
rewind()
    {
        
$this->puntero 0;
    }

    public function 
valid()
    {
        return 
$this->puntero !== false;
    }

    public function 
count()
    {
        return 
count($this->clases);
    }
/*
    public function load($nombre)
    {
        $data = simplexml_load_file("data.xml");
        foreach ($data->{$nombre} as $registro) {
            foreach ($registro as $persona) {
                $alumno = new Alumno($persona->id, $persona->nombre, $persona->apellidos);
                $this->addAlumno($alumno);
            }
        }
    }
*/
}

?>
  #2 (permalink)  
Antiguo 22/09/2010, 07:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: getIterator() on a non-object

reflexiona el tipo de dato que empleas:
Código PHP:
$this->clases[] = $clase
ahí claramente se ve que usas un arreglo para almacenar los objetos...

Cita:
Fatal error: Call to a member function getIterator() on a non-object in /Clases.php
on line 16
y el error es bastante claro, creo que deberías comenzar a leer una buena guía de OOP
http://php.net/oop
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:43.