Um ponto explorado no versão 5 do PHP foi a aplicação mais ampla da paradigma de orientação à objetos.
Houveram mudanças sutis quanto à compatibilidade da versão 4 para a 5, pois muitos recursos existentes na versão mais antiga ainda estão disponíveis na árvore da vez.
Muita gente deve ter se atentado que já há um bom tempo a equipe de desenvolvimento do PHP aconselhava que se modificassem os scripts PHP para o perfeito funcionamento sem a diretiva "register_globals = on". Talvez seja esse o maior impacto, pois quem não fez o Refactoring para atualizar seus códigos terá que fazê-los se não quiser deixá-lo obsoleto.
No PHP Internals, Rasmus Lerdof postou a lista das maiores modificações:
- Remover register_globals completamente;
- Remover o magic_quotes_*;
- Adicionar extensão de filtro de entrada, o qual irá incluir um mecanismo para os desenvolvedores de aplicações para muito facilmente torná-los Off, o que ativaria o acesso cru às arrays do GPC de volta no caso do site ter ativado como On por padrão;
- Incluir um opcode cache por padrão. Muito trabalho já foi feito no pecl/apc recentemente;
- Remover o safe_mode e focar no open_basedir;
- Remover algumas coisas que já foram marcadas como obsoletas desde o PHP 3/4;
- Transformar identificadores case-sensitive;
- Remover vários aliases para funções.
http://news.php.net/php.internals/17883 (Post original)
Uma nova vertente dos desenvolvedores do PHP quer a adoção do PDO (PHP Data Objects) como sendo parte nativa, ou seja, desde a versão 5.1 do PHP propõe-se que os desenvolvedores não mais utilizem o acesso direto à API de controle de base de dados - utilizando dessa extensão que atualmente vem sendo distribuída juntamente com o source original.
O que isso significa?
Meu objetivo não é dar a definição acadêmica para os mais puritanistas, mas sim a idéia principal. Como tal, sabe-se que o que era proposto a respeito da abstração de base de dados no PHP até então, se resumia à adição de camadas de controle como PEAR::DB ou o Creole. O PDO propõe uma interface de acesso de dados uniforme e não mais acesso à base de dados - o que de grosso modo seria o meio termo entre o Java Hybernate e DB::Pear até o presente momento, pois sua persistência segue o que foi proposto pelo Hybernate (embora ainda infinitamente mais primitivo) e ainda suporta recursos mais avançados como queries não buferizadas, statments preparados e etc.
Segundo os autores e desenvolvedores que participam do PHP Internals, o PDO está sendo adotado dentre vários fatores por ter um ganho de desempenho sobre a API nativa do PHP - não pela falta de qualidade da API nativa do PHP, mas sim pelo modelo proposto pelo PDO. E o que tudo indica é que em breve, será talvez um padrão de desenvolvimento.
Nesse meio tempo, muita gente já vinha esperando que fosse lançado para o PHP, um sistema de controle Unicode nativo. Um problema que se tornou mais evidente para programadores que trabalham com Ajax ou conhecem bem a tecnologia XMLHttpRequest e os problemas oriundos da acentuação e caracteres especiais em documentos XML.
Atualmente existe a extensão mbstring disponível - responsável principalmente por traduções UTF-8 -, mas que por padrão não vem habilitada na compilação do PHP e que por sua vez também possui várias limitações.
E para os administradores, tome-lhe fôlego, pois vocês ainda precisam aguardar o lançamento do Apache 2.1 - que promete novos recursos, como balanceamento proxy e novos recursos de integração com o Tomcat.
E isso ainda não para por aí, pois nesse período de mudanças, dor de cabeça pouca é besteira. O MySQL de árvore estável 4.1, em breve migrará para a 5, mas suas mudanças foram poucas e a mais drástica talvez foi a mudança do hash gerado pela função PASSWORD(), bases de dados antigas que utilizam hashs deverão ser migradas para o novo formato - felizmente um script já está incluso no release original.
Das funcionalidades novas para o PHP 5, estão os tão esperados controles de chaves primárias e estrangeiras (em cascata por exemplo), triggers e stored procedures. Novos recursos que muita gente não quer abrir mão.
No mundo da tecnologia, definitivamente o tempo não para.
[]'s
Allyson de Paula