O Novo PHP - Experimentando o renascimento, com melhorias e novos padrões

A famosa editora de livros de tecnologia O'Reilly publicou em seu site, no dia 4 de março, uma matéria sobre o PHP denominada "The new PHP - PHP's experiencing a renaissance, with improvements and new standards" ou em português "O Novo PHP - Experimentan

Wednesday, 9 de April de 2014

Em seu texto Josh brinca com o fato de o PHP ser a linguagem que muitos amam odiar, porém, alerta desenvolvedores que por algum momento desistiram do PHP para que reconsiderem, pois o mesmo está agora em um momento muito mais maduro de seu desenvolvimento.  

Recursos da Linguagem

 

 

Melhorias implementadas na versão 5.5 da linguagem (a última versão na ocasião da escrita do artigo), como novos recursos e ferramentas para ajudar o desenvolvedor, tais como servidor web embutido, geradores para simples iterações, e namespaces. Na versão 5.4 do PHP já haviam sido introduzidas características (à la Scala ou Perl) para permitir a reutilização de código em linguagens de herança única, assim como closures, que permite programar PHP em estilo funcional. Outros recursos interessantes incluem o gerenciador de processos FastCGI embutido e o debbuger phpdbg , a nova API de hashing de senhas que facilita a criptografia e o gerenciamento seguro de senhas no PHP.  

 

 

Componentes Interoperáveis

 

 

No decorrer dos últimos anos surgiram grandes frameworks de PHP, tais como CakePHP, CodeIgniter, dentre outros. Cada um dos frameworks se tornaram ilhas isoladas ao disponibilizarem recursos comuns de maneira distinta. Infelizmente essas implementações isoladas se tornaram incompatíveis trancando os desenvolvedores no framework em que começaram cada um dos projetos. Hoje a história é diferente. A nova comunidade do PHP usa gerenciadores de pacotes e bibliotecas de componentes para combinar e escolher as melhores ferramentas disponíveis. Como e uma sessão de compras em uma quitanda, conforme a analogia proposta por Josh. Caso queira consumir remotamente uma API basta se dirigir ao corredor nº 3 e escolher o Guzzle. Precisa de um sistema de rotas para gerenciar suas requisições? Symfony\Routing, Aura\Router, Slim, Pux, e nikic/fast-route estão no corredor nº 4. Essa é a essência! No novo PHP os componentes são interoperáveis utilizando suas vantagens comparativas para prover a melhor combinação de ingredientes para seu projeto. A maneira mais fácil de começar a usar os componentes do PHP é instalando o Gerenciador de pacotes Composer e vasculhar o Repositório de componentes Packgist.  

 

 

Padrões da comunidade

 

 

Sendo a nova comunidade do PHP extensa e diversa com uma infinidade de componentes, é importante que os mesmos estejam de acordo com um conjunto de regras de estilo de código e interfaces compartilhadas. Isso permite que desenvolvedores iniciem o uso de novos componentes com uma curva de aprendizado reduzida, e que os componentes funcionem facilmente entre si por meio de interfaces compartilhadas. O PHP Framework Interop Group (PHP-FIG) é um grupo não oficial, porém, uma autoridade dentre os desenvolvedores de framework e representantes da comunidade PHP cujo objetivo é "comunicar os pontos comuns entre os projetos e encontrar meios para trabalhar em conjunto". O PHP-FIG definiu quatro padrões até o momento: PSR-0, PSR-1, PSR-2 e PSR-3. Esses documentos propõem convenções de arquivos, classes e namespaces, regras para estilo de código, e um conjunto de interfaces compartilhadas para sustentar a interoperabilidade de componentes e frameworks. O PHP-FIG não é uma autoridade suprema, porém, as sugestões de padrão que partem desse grupo são amplamente adotadas pela maioria dos frameworks de PHP mais populares. Com objetivos nobres bem definidos, eles estão abertos a sugestões. Ou seja, é altamente recomendável que você implemente os padrões do PHP-FIG no seu código PHP e submeta sugestões para as futuras propostas do PHP-FIG.  

 

 

Performance

 

 

Existem muitas coisas interessantes acontecendo nos bastidores do PHP, também.  O PHP Zend Engine recentemente introduziu otimizações de uso de memória. O uso de memória no PHP 5.5 é de longe menor que nas versões anteriores. O PHP Zend Engine também prove um Gerenciador de processos FAST-CGI integrado que geralmente está por trás de um proxy reverso (por ex. nginx) e irá se encarregar do gerenciamento e processos de spawning por você. Isso suaviza a necessidade de embutir novas instancias de PHP em cada processo do Apache usando o módulo mod_php. O Facebook, também, fez grande progresso em sua alternativa Open Source de engine PHP, o HipHop Virtual Machine (HHVM). O HHVM uma técnica de compilação just-in-time para prover uma performance inacreditável enquanto mantém a facilidade de uso do PHP que os desenvolvedores estão acostumados. Assim como o PHP Zend Engine, o HHVM também inclui suporte ao FastCGI. O objetivo do HHVM para o começo de 2014 é passar 100% nos testes de unidade para os vinte principais frameworks de PHP, e recentemente eles anunciaram um roadmap para os próximos seis meses. Fique de olho no HHVM, o Josh acredita que ele irá mudar drasticamente a paisagem do PHP nos próximos anos. Leia o artigo original.  

 

 

Parceira no Brasil

A 4Linux é uma Zend Solution Partner no Brasil. Saiba mais

 

Cursos relacionados

 

Compartilhe esta página