O CakePHP, além dos novos recursos e alterações que está sofrendo, terá sua estrutura de diretórios alterada. Esta alteração vem da adoção de um padrão criado pelo grupo PHP Standards Working Group.
O padrão é usado em alguns frameworks e CMS. Para quem quiser ver as regras pode consulta o site http://groups.google.com/group/php-standards/web/psr-0-final-proposal.
No CakePHP ainda está em fase de estudos e adequações, as últimas decisões sobre o assunto pode ser conferida na página 2.0 – PHP standards group file naming na LightHouseApp. As alterações no código devem começar em breve nos branches da release 2.0.
Essa alteração certamente vai preocupar muita gente na hora de migrar o código, mas acredito ser inevitável para melhorar a padronização e a performance do framework. Com as alterações existentes hoje a melhora de performance já foi bem significativa, em alguns casos passando de 30%.
Bem, vamos esperar para ver o que vem por aí, mas podem ter certeza que coisa boa é.
Agora que o CakePHP 2.0 já está um pouco mais maduro, vou comentar um pouco sobre a nova versão, daqui pra frente pretendo publicar alguns posts mais detalhado de cada novo recurso, por enquanto vamos numa visão mais macro.
Pra começo de conversa, pra quem não sabe o CakePHP 2.0 é a versão que está em desenvolvimento pelo time do cake. As versões 1.2 e 1.3 são versões estáveis e que daqui para frente só terão correções de bugs, nada de recurso novo. Não há em vista uma versão 1.4 (que seriam novos recursos com compatibilidade pro PHP4).
A versão 2.0 tem como requisito PHP 5.2 em diante. Por este fato, trará muitos recursos novos e facilidades no desenvolvimento das aplicações. Além disso, a versão poderá otimizar muitos itens, tornando a sua aplicação mais rápida ainda.
Alguns itens previstos pro Cake 2.0:
- Fim da compatibilidade com PHP 4
- Lazy load para models, helpers e componentes (Não sabe o que é? Eu explico eu outro post)
- Remover a “mágica” que mudava os textos, adotando o “What you type is what you get” (ou “O que você escrever é o que você verá”).
- Ajustes do código para utilizar classes Spl, interfaces, abstracts, etc. e corrigir a visibilidade dos métodos (public/private/protected)
- As buscas retornarão objetos e não mais arrays, facilitando ações e aumentando a performance
- Helpers, Behaviors e Components poderão ter aliases, ou seja, você poderá fazer seu próprio HtmlHelper e dizer que o helper Html será o seu customizado
Gostou? Essa era só uma palinha sobre o que vem por aí. Em breve mais comentários e detalhes sobre o funcionamento destes itens.