Dica rápida PDF Imprimir E-mail
Avaliação do Usuário: / 0
PiorMelhor 
Escrito por Cauan Gama Cabral   
Qua, 27 de Janeiro de 2010 12:33

Ontem estava aplicando algumas ideias encontrada no excelente Super Awesome Advanced CakePHP Tips e me deparei com um erro que ocorria na minha aplicação.

PROBLEMA:
Ao tentar usar a função file_exists do PHP dentro do arquivo config/bootstrap.php para incluir um outro arquivo do mesmo diretório sempre recebia como resposta o valor FALSE

SOLUÇÃO:
Descobri que ao usar o file_exists o PHP estava tomando como diretório corrente o webroot/ e não o diretório do bootstrap.php (arquivo atual), então tive de acrescentar o prefixo '../config/' para encontrar o arquivo que procurava.
Após usar o file_exists, iria dar um include no arquivo, neste caso o comportamento é diferente: ele considera o diretório corrente como sendo o diretório do arquivo que está chamando a função ( no meu caso o config/), portanto não é preciso adicionar prefixo nenhum.

Ainda não consegui descobrir o motivo desses dois comportamentos no mesmo ambiente, porém imagino que o comportamento do file_exists está ligado ao arquivo .htaccess do CakePHP que seta para o Apache o diretório webroot/ como sendo a raiz do domínio.

Se souber a resposta deixe-a no comentário que eu atualizo o post.

Até a próxima.

Leia mais http://cauancabral.net/2010/01/27/dica-rapida/

 

Adicionar comentário


Código de segurança
Atualizar