PHP é muito melhor do que você pensa

Rodrigo Vieira
OperacionalTI
Published in
5 min readFeb 12, 2018
/**
* Esta é uma tradução não-oficial do post
* publicado por Fabien Potencier em seu blog:
* https://goo.gl/EovPN2
* em 4 de Julho de 2012.
*/

Discursos sobre PHP estão por toda parte, e eles vêm até mesmo de caras inteligentes. Quando Jeff Atwood escreveu outro sobre o PHP, isso me fez pensar sobre as partes boas dessa linguagem.

O maior problema desses discursos é que eles vêm de pessoas presas no passado do PHP. Ou eles não se importam ou não querem admitir que o PHP realmente evoluiu em um ritmo muito rápido, tanto no nível da linguagem, como no nível da comunidade. Na verdade, ele evolui muito mais rápido do que qualquer outra linguagem ou plataforma web. Nem sempre tem sido o caso, mas os últimos 5 anos têm sido uma jornada incrível para o PHP.

Antes de falar sobre as coisas incríveis que a comunidade PHP tem alcançado recentemente, vamos dar uma olhada em alguns números interessantes: o PHP é utilizado por 77,9% de todos os sites cuja linguagem de programação server-side é conhecida. O WordPress é usado por 16,6% de todos os sites do mundo. Se você der uma olhada nos três melhores CMS, para os sites que usam um sistema de gerenciamento de conteúdo monitorado: o WordPress é o primeiro com 54,3%, o Joomla é o segundo com 9,2%, e o Drupal é o terceiro com 6,8%. Três produtos escritos em PHP.

O PHP deve ter feito algo direito, não?

Agora, deixa eu te contar um segredo sobre o PHP: apesar das mudanças ao longo dos anos, o PHP ainda é a linguagem mais fácil para pessoas não-técnicas aprenderem: permite a qualquer um criar sites dinâmicos mais rapidamente do que com quaisquer outras tecnologias, permite também hospedar sites de forma barata e sem aborrecimentos. O PHP provavelmente não é a melhor linguagem projetada no mundo, mas permite que você resolva as coisas, e contra isso você não pode argumentar.

A linguagem PHP

O PHP 5.0, lançado em 2004, nos trouxe um modelo de objeto muito sólido… Espere um pouco, eu estou falando de algo lançado há quase oito anos. Vamos avançar um pouco no tempo. A versão mais recente do PHP, o PHP 5.4, vem com todos os recursos com os quais você poderia sonhar em uma linguagem web moderna: sim, PHP suporta namespaces; sim, PHP suporta closures; e sim, PHP suporta traits.

Levou algum tempo, mas o PHP 5.4 também vem com uma agradável sintaxe que torna toda a experiência melhor do que nunca:

- Sim, o PHP suporta [] para definir arrays;

- Sim, o PHP suporta chamar um método em um objeto recém-criado ((new Foo())->bar());

- Sim, o PHP suporta obter um item do array de qualquer expressão ($foo->bar()[1]).

O PHP até mesmo aprendeu com seus erros: register_globals e magic_quotes definitivamente já eram.

Por último, mas não menos importante, o PHP ainda vem comum servidor web embutido que facilita testes locais… e ele levanta em questão de micro-segundos.

Próximos passos: Como é que a gente faz “upgrade” de todos os tutoriais antigos que falam sobre PHP na web? Qual é a melhor maneira dar suporte para a tecnologia WebSocket em um aplicativo PHP?

O ecossistema PHP

Ter uma boa linguagem é ótimo, mas ter um grande ecossistema é melhor ainda. E o ecossistema PHP evoluiu muito nos últimos anos.

Git

Não vou falar muito sobre ele. O Git está em toda parte e foi adotado rapidamente pela comunidade PHP. Quase todas as grandes bibliotecas PHP, frameworks e quase todos os produtos tem seu controle de versões através do Git, incluindo o próprio PHP.

Composer

Dois anos atrás eu queria me livrar de um hacking horrível que fiz no Symfony para que ele suportasse alguns plugins PEAR. Eu queria substituí-lo por algo que fosse capaz de gerenciar as dependências do projeto, não um instalador global como PEAR. Gerenciar dependências não é uma tarefa fácil, então tentei encontrar o melhor algoritmo para gerenciar as dependências de software; eu tinha um olhar para tudo: de Perl a Ruby, de Debian a RedHat. Não encontrei nada satisfatório, apenas soluções caseiras que pareciam funcionar… empiricamente. Então me deparei com Zypp, e foi isso! Zypp usa um gerenciador SAT para gerenciar dependências. Avançando um pouco no tempo… Graças ao trabalho duro de Nils Adermann e Jordi Boggiano, o PHP possui agora um dos melhores gerenciadores de dependência, o Composer.

Sim, o PHP possui um gerenciador de dependências melhor do que os de qualquer outra linguagem.

E graças ao Git, ao Composer e também ao novo servidor web embutido no PHP, nunca foi tão fácil baixar, instalar e testar um projeto PHP.

Quer testar Symfony (usando o PHP 5.4)?

$ composer create-project symfony/framework-standard-edition
$ cd framework-standard-edition
$ ./app/console server:run

Quer testar Silex?

$ composer create-project fabpot/silex-skeleton
$ cd silex-skeleton
$ php -S localhost:8888 -t web/

Ainda não conhece o Composer? Você deveria aprender sobre ele. Pesquise sobre o Packagist, o principal repositório público do Composer: ele já possui mais de 1900 pacotes disponíveis e eles já foram instalados mais de um milhão de vezes em menos de três meses.

Próximo passo: incluir um instalador do Composer na próxima versão do PHP?

Comunidade

A colaboração da comunidade é o ponto mais importante deste artigo, do qual estou bem orgulhoso. Começamos a ver uma melhor colaboração entre os projetos PHP, até mesmo entre os grandes, aqueles que você pensaria que são grandes o suficiente ao ponto de não terem que se preocupar com os outros:

phpBB, Drupal, eZPublish, Symfony e muitos outros (phpDocumentor, PHPUnit, Behat, Zikula, Propel, Doctrine, Midgard, …) estão compartilhando código. Sim, eles são "concorrentes", mas todos eles perceberam que a padronização de um ambiente para outro é uma coisa boa, e que o composer é a chave pra isso.

Próximo passo: convencer ainda mais projetos a aderirem a essa tendência.

Conclusão

Vou falar de novo: provavelmente o PHP não é a melhor linguem que existe por aí, e eu sou o primeiro a exaltar suas peculiaridades, mas é com certeza a melhor plataforma web… de todos os tempos.

--

--