A maioria já deve saber que o CakePHP está com a versão 1.3 do framework em estado beta. Me recordo que a versão 1.2 do framework já era bem agradável quando estava em fase beta, e portanto decidi testar o que o CakePHP 1.3 tinha de novo. Fiz o download e fui direto para a página que contém a descrição das principais mudanças da versão 1.2 para a 1.3. Quando vi que ela tinha um tamanho um pouco grande decidi testar logo alguma aplicação que eu tinha funcionando na versão 1.2.
Para minha surpresa ela não exibiu nem a página inicial, e ao invés disso várias mensagens de erro foram mostradas. Então vi que era realmente necessário ler a extensa página. Durante a leitura percebi que diversas mudanças importantes ocorreram, e logo vi o porque da minha aplicação sequer funcionar. Como a leitura é um pouco extensa, decidi resumir as principais mudanças aqui. As novidades vão ficar para depois, porque também são várias.
Principais mudanças do CakePHP 1.3
Configure::write('Routing.prefixes', array('admin'));
Model::delete()
$title_for_layout
poderá ser definida para o título da página, tanto no Controller quanto na View
echo $this->element('sql_dump');
em qualquer ponto da aplicação
SessionComponent::setFlash()
teve seu segundo parâmetro alterado para usar um element e não um layout. Para alterar sua aplicação primeiro mova seus layouts para a pasta de elements e renomeie a variável
$content_for_layout
para
$message
prev(); next(); first(); last();
englobada por
e não
para tornar a estilização mais fácil
dateTime(); year(); month(); day(); minute(); meridian(); select();
do FormHelper não possuem mais o parâmetro
$showEmpty
, e agora utilizam
$attributes['empty']
FormHelper::button()
agora cria elementos button ao invés de inputs reset. Para criar inputs de reset, utilize
FormHelper::submit()
com o parâmetro option definindo ‘type’ => ‘reset’
FormHelper::create()
não cria mais elementos fieldset escondidos, agora substituídos por divs escondidas, o que ajuda na validação de HTML 4
link(); para(); div(); tag()
não pussuem mais o parâmetro
$escape
, que foi substituído por
$options['escape']
. Similarmente os métodos
meta(); css()
tiveram o parâmetro
$inline
substituído por
$options['inline']
$session->flash()
não são mais auto-exibidas, sendo necessário adicionar
echo
antes da chamada a função, como em qualquer método de helper
$javascript->link()
agora é
$html->script()
, e
$javascript->codeBlock()
é
$html->scriptBlock()
Já deu para perceber que vai dar trabalho mudar algumas coisas. E essas são apenas as alterações que considerei mais importantes, na página de migração do 1.2 para o 1.3 está a lista completa. Verifique nessa se alguma mudança afeta as suas aplicações.
Pelas alterações deu para perceber que o framework está mais preocupado com a padronização do seu comportamento, de código, utilização de Web Standards e desempenho, questões que são sempre importantes.
Bom, é isso, espero ter ajudado. Na próxima vamos dar uma olhada nas novidades do Cake 1.3.