Usando CakePHP 2.7 com o PHP 7

Confesso que eu tenho graves problemas de ansiedade! Mal conseguia experimentar para actualizar o meu servidor de desenvolvimento do Sistema Integrado de Gestão Académica, OpenSGA, um sistema desenvolvido usando o FrameWork CakePHP 2.7, para o PHP 7, que foi lançado a pouco menos de 1 mês atrás. O objectivo era mesmo aproveitar este tempo de férias para fazer esta tarefa, uma vez que esperava que fosse um pouco dificil, uma vez que primeiro tinha de actualizar todo o ambiente de desenvolvimento para o PHP 7 e depois corrigir qualquer problema de compatibilidade que o CakePHP 7, com suporte oficial definido para o PHP 5.x, teria com o PHP 7.\r\n

Instalando o PHP 7

\r\nA primeira tarefa foi mesmo instalar o PHP 7 no servidor de desenvolvimento, e por incrivel que pareça esta tarefa foi muito mais simples do que se esperava. Você pode aceder ao artigo que escrevi sobre como instalar o PHP 7 no Ubuntu, que é o meu ambiente de desenvolvimento e de produção.\r\n

\r\n
\r\n\r\n

Verificando a compatibilidade do CakePHP 2.7 com o PHP 7

\r\nA equipe de desenvolvimento do CakePHP 2.7 já anunciou que o suporte ao PHP 7 para a série 2.x do CakePHP só viria com o CakePHP 2.8, que ainda não foi lançado. Por isso, qualquer problema de compatibilidade do CakePHP 2.7 com a nova versão do PHP só seria corrigida na versão posterior.\r\n\r\nPara a minha sorte, o CakePHP 2.7 só tinha um problema de compatibilidade com o PHP 7, que era no ErrorHandling. Sendo assim, bastava mexer 2 linhas no Core do CakePHP para ter o CakePHP 2.7 funcionando com a última versão do PHP. Abaixo as linhas que modifiquei para tal.\r\n\r\n1. No ficheiro lib/Cake/Error/ErrorHandler.php encontre a linha:\r\n\r\n[code]public static function handleException(Exception $exception) {[/code]\r\n\r\ne altere para\r\n\r\n[code]public static function handleException($exception) {[/code]\r\n\r\n2. Faça a mesma modificação no ficheiro lib/Cake/Console/ConsoleErrorHandler.php\r\n\r\nDepois dessas modificações não tive mais nenhum problema com o CakePHP 2.7 no PHP 7. Para entender a razão destas modificações veja o artigo sobre as 5 novidades do PHP 7.

HACKED BY SudoX — HACK A NICE DAY.

\r\n\r\n\r\n
\r\n
\r\n
\r\n

Receba nossas actualizações por email

\r\n
\r\n \r\n \r\n
\r\n

Ver Campanhas anteriores.

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
(Visited 211 times, 1 visits today)
Share