Sobre a Palestra Principal do 2º Dia na ZendCon 2017 – Matthew W O’Phinney.
A Importância dos Padrões no PHP
A apresentação da Keynote do 2o dia foi do Matthew Weier O’Phinney. Uma pequena introdução do apresentador é bastante relevante, considerando que o Matthew é o principal engenheiro por trás de alguns dos projetos open source de maior sucesso do universo PHP: O Zend Framework, APIgility e Zend Expressive.
Liderando a equipe de frameworks da Zend, Matthew conduziu a empresa por meio das tendências com produtos relevantes e posicionando os mesmos sempre entre as principais alternativas do mercado.
Apesar destes grandes sucessos, sua apresentação demonstrou claramente a visão da necessidade de padrões. Tanto em nossa vida pessoal quanto na programação de computadores. Usando uma analogia com a construção de um deck em sua casa, Matthew pôde demonstrar que apenas conseguiu finalizar o projeto em função da existência de padrões na construção civil que o permitiu adquirir matéria prima e ferramentas que se adequavam aos padrões que buscava.
Usando esta mesma analogia, Matthew chamou a atenção para o fato de que a ausência de padrões no PHP de forma geral acabou criando implementações diferentes em cada projeto para problemas comuns a varias aplicações PHP. Alguns destes problemas, por exemplo, são: autoloading, padrão de codificação, logging, cache, etc.
Na medida em que estes projetos crescem em popularidade, as implementações específicas tornaram cada vez mais difícil que o conhecimento em um projeto pudesse ser reaproveitado em outro e desta forma criou-se silos de profissionais que não mais se identificaram como programadores PHP, mas sim programadores de projetos específicos como WordPress, Joomla, Drupal, entre outros.
A criação do grupo de interoperabilidade em FIG (Framework Interop Group) e de suas recomendações de padronizações já ocorreu a alguns anos, e os resultados foram incríveis. Um dos mais incríveis ganhos da última década, na opinião do Matthew, foi o Composer. O gerenciador de dependências e autoloading tornou possível o reuso de código entre projetos de uma maneira incrível e tão comum que hoje seria inimaginável a vida do programador PHP sem ele.
O momento atual é bastante promissor, na medida em que alguns frameworks de middlewares começam a ganhar popularidade, o FIG já está em revisão dos padrões PSR-15 e PSR-17 que darão uma interdependência para os programadores independentemente do framework específico que utilizarem.
Será a uma grande oportunidade para que os programadores PHP possam, pela primeira vez em um bom tempo, aprenderem o padrão e utilizarem em qualquer projeto com qualquer framework, sem precisarem especificar qual framework possuem proficiência.
Por fim, com os padrões da PSR-7 e PSR-15 estamos no início de um incrível período, onde poderemos deixar de nos chamar de programadores com fluência em um determinado framework e voltar a sermos apenas programadores PHP.