Scientist 2 Denunciar post Postado Outubro 7, 2011 Quando executo meu site da este erro: Fatal error: Call to undefined function populaEstilo() in C:\Program Files\VertrigoServ\www\Ache Roupas\admin\conteudo\loja\dao_loja.php on line 86 A linha que ele indica é esta: $pojo->setEstilo(populaEstilo($row_estilo = mysql_fetch_assoc($result_estilo))); A função populaEstilo() private function populaEstilo($row){ $est = new PojoEstilo(); $est->setCod($row['COD_ESTILO']); $est->setNome($row['NOME_ESTILO']); $est->setDescricao($row['DESCRICAO_ESTILO']); return $est; } Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Outubro 7, 2011 Esse populaEstilo é um método privado que só é 'visível' dentro da classe que a implementou. A chamada ao método dentro desta classe deve ser desta forma(usando $this->) $pojo->setEstilo( $this->populaEstilo( $row_estilo = mysql_fetch_assoc( $result_estilo ) ) ); Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Outubro 7, 2011 desculpa a pergunta, mas pq setEstilo recebe um método como argumento ? clousure ? Compartilhar este post Link para o post Compartilhar em outros sites
Scientist 2 Denunciar post Postado Outubro 7, 2011 Carlos coloquei assim : $pojo->setEstilo($this->populaEstilo($row_estilo = mysql_fetch_assoc($result_estilo))); porém continua o mesmo erro. Willian, eu não estou passando um método como parametro, este método populaEstilo retorna um Objeto Estilo com todas suas propriedades preenchidas. FUncionou ... era isso mesmo que vocÊ falou Carlos, o problema é que como tinha mais de uma chamada ao populaEstilo() eu não havia feito o $this->populaEstilo() nos outros trechos de codigo, mais já funcionou. Muito obrigado ! Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Outubro 7, 2011 Foi como eu disse, se você está chamando este método fora da classe que a implementou, não vai funcionar. Se for uma classe filha que está tentando utilizar este método, mude para protected. EDIT Não tinha visto sua resposta :) Até :D Compartilhar este post Link para o post Compartilhar em outros sites