Ir para conteúdo

POWERED BY:

Arquivado

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

Bruno Augusto

[Resolvido] Adaptação...

Recommended Posts

É preciso mudar alguma coisa para que o ZF encontre os controllers adequadamente quando online?

 

Porque acabei hoje aqui rapidinho um pequeno trabalhinho (uma calculadora) e localmente funciona direitinho, acabei de hospedar e tá gerando erro de controller não encontrado.

 

A estrutura de acesso é a mesma, onde localmente é http://localhost/diretorio/df/wa, online é http://meusite.com/diretorio/df/wa'>http://meusite.com/diretorio/df/wa

 

Só o domínio muda, mas não abre.

 

Se eu acesso:

 

http://meusite.com/diretorio/ - Funciona pelo módulo default (portal)

http://meusite.com/diretorio/df - Funciona pelo controller Index do módulo df (DF_IndexController)

http://meusite.com/diretorio/df/wa'>http://meusite.com/diretorio/df/wa - Deveria funcionar (DF_WAController)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique a configuracao do APACHE...pode estar ai seu erro....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andei lendo que o Apache no Windows é case-insensitive por padrão e não há comomudar, pois é uma especificação do Sistema Operacional.

 

No Linux, que é o servidor online, é tudo case-insensitive, então pensei: "Tenho que nomear as classes no padrão do ZF, no mesmo case que os diretórios"

 

Troquei o DF_WAController por df_waController e ainda assim continua acusando controller wa não especificado.

 

Fui mais além. Eu queria descobrir o motivo, então abir o dito arquivo Standard.php mencionado na exceção e fui na linha 242. Troquei, comentei, depurei e nada.

 

Procurei então o método isDispatchable() cuja condição falsa é que possibilita cair na exceção. Depurei a variável $test a qual o método passa para Zend_Loader::isReadable()

 

Descobri que essa variável possui parte de outra, $fileSpec que passa pelo método classToFilename que faz com que, na real, a classe do meu controller se chame Df_WaController, isto é, apenas a primeira antes de cada underscore maiúscula.

 

Com isso, consertei o nome da classe e funcionou. Fica a dica http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porcaria de teclado <_<

 

Pensei certo e digitei errado, mas é isso mesmo.

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.