![]() |
Tengo el objeto pero no puedo acceder al método Buenas a tod@s, Veréis, tengo un problemilla al cual no le veo lógica aparente... Todavía no tengo un ejemplo legible, así que tal vez no haga falta que lo haga si os describo el error que me da en pantalla. Tengo en una clase un metodo que da valor a una variable de la clase como la instancia de una clase que contiene un array de objetos de otra clase. Un manejador de datos. Por lo que cuando intento acceder a un dato: $resultado=$this->variable->manejador->ObtenerDato() $resultado debe contener un array de objetos de un objeto. Ese objeto dato, tiene sus propiedades (private) y sus metodos (public) Cuando hago un print_r($resultado) me enseña las propiedades, sus nombres y sus valores. Si hago publica una propiedad, puedo acceder a ella... Enfin, después de esta chapada... llego al problema: $resultado[0]->MetodoDato(); Y me dice: Fatal error: Call to a member function MetodoDato() on a non-object in (fichero.php) Cuando con el print_r de $restulado me está diciendo que es un objeto, cuando también is_object me devuelve true... cuando también puedo acceder a la propiedad si está publica... Obviamente algo estoy haciendo mal porque no me está dando el resultado deseado... ¿Alguien ha tenido este problema? Gracias por haberte leído la parrafada y por tu posible respuesta ^_^ Un saludo. |
Re: Tengo el objeto pero no puedo acceder al método Si print_r te esta diciendo que $resultado es un objeto, porque entonces tratas de llamar a un metodo como array? En lugar de hacer: Código PHP: Código PHP: Tambien te pido si posteas codigo real ya que asi con suposiciones es dificil encontrar el error ya que como tu dices todo deberia de funcionar inclusive si testeas algo asi funciona: Código PHP: |
Re: Tengo el objeto pero no puedo acceder al método Cita:
Código PHP: |
Re: Tengo el objeto pero no puedo acceder al método Gracias por responder GatorV, Paro al final al sacar un ejemplo del código para postearlo aquí como ejemplo del problema que tenía, encontré el error y no era sintáctico... una de las consultas de acceso a datos no estaba construida adecuadamente y devolvía más resultados de los necesarios por lo que al volver a intentar a llamar a ese método pues daba el error... Me estoy dando cuenta que para hacer consultas de POO es más complicado... ^_^ Gracias por tu atención. Un saludo. |
Re: Tengo el objeto pero no puedo acceder al método Mm pues si te refieres a las consultas SQL, siguen siendo las mismas... eso no depende de si usas POO o estructural. |
Re: Tengo el objeto pero no puedo acceder al método No no me refiero a eso, Son unas clases para tener manejadores de arrays de objetos de objetos... una paja mental de las raras ^_^ si cada posición de un array es un objeto e intentas recorrer más posiciones de las que tiene, al intentar acceder a un método pues falla ^_^ me di cuenta al intentar reproducir el error emulando los arrays a mano en vez de ser generados por las consultas. Un saludo. |
| La zona horaria es GMT -6. Ahora son las 10:56. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.