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.

Instalando o PHP 7

A 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.

Verificando a compatibilidade do CakePHP 2.7 com o PHP 7

A 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.Para 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.1. No ficheiro lib/Cake/Error/ErrorHandler.php encontre a linha:

public static function handleException(Exception $exception) {

e altere para

public static function handleException($exception) {

2. Faça a mesma modificação no ficheiro lib/Cake/Console/ConsoleErrorHandler.phpDepois 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.

Receba nossas actualizações por email

Ver Campanhas anteriores.

(Visited 352 times, 1 visits today)
Share