Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

augustougo@gmail.com

Método recém criado em uma classe não aparece onde ela já era chamada.

Recommended Posts

Método recém criado em uma classe não aparece onde ela já era chamada mas aparece se a classe for chamada em outro lugar.

Tenho uma classe model, uma dao e um controller.
A classe model era requerida ( require_once('model.php'); ) dentro da classe dao e a classe dao requerida dentro da classe controller.
Tudo funcionava.

Criei um novo método dentro da classe model porém quando tentava acessá-lo dentro da classe dao obtinha um erro: "Fatal error: Call to undefined method Model::nomedometodo()";

Apenas retirei o comando require_once da classe dao e o coloquei na classe controller e o novo método passou a funcionar, mesmo quando chamado dentro da classe dao.

Ou seja, é como se a classe dao não entendesse que o arquivo model.php foi alterado, quando o arquivo é incluído em outro lugar, o método está lá.

Alguém já viu algo parecido? Saberia como resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ate agora não entedi porque deste "require" o que tem haver uma pagina php com uma classe. De qualquer forma o jeito correto de usar um metodo de outra classe e instanciando um objeto ou usando o extends(igual da classe java).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, php tem herança. Mas não tem pq vc usar herança entra Controller, DAO e Model.

São 3 coisas diferentes e usar herança ai seria um erro de modelagem de objetos.

 

A descrição do problema não fez muito sentido, além disso, pq vc chama estaticamente ?

Model::nomedometodo() ?

 

Apresente teus códigos, o problema está no seu entendimento e não no funcionamento do php ou do oo em si.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.