Muitos iniciantes e até mesmo desenvolvedores experientes, que não conhecem a linguagem, questionam quais as razões para escolher e usar o PHP como a linguagem de programação para um projeto de pequeno ou grande porte, primeira linguagem ou projeto freelancer.

Muitos adoram odiar a linguagem PHP, mesmo assim, um número expressivo de desenvolvedores a usam.

De tópicos do Reddit a postagem populares no Twitter, haters e lovers estarão presentes discutindo fervorosamente sobre o PHP.

#PHPMORREU ou #PHPESTAMORTO é uma constante que escuto desde muito antes virar hashtag de mídia social.

Mas ao invés de simplesmente apontar questões por odiar ou amar, para dar opiniões ou sugestões, vou descrever neste artigo razões para escolher a linguagem PHP no ano de 2023.

É importante iniciar dizendo que ela é muito mais do que apenas uma linguagem de script de servidor web. Com ela é possível construir APIs, processos em segundo plano (background), sistemas com gerenciamento complexo de execução em filas (Queues) e aplicativos CLI.

Se você pensar em ramos de negócio, com PHP é possível construir sistemas de ERP, CRM, CMS, Gestão de Clientes, Redes Sociais (Facebook), Wikis (Wikipedia), e muitos outros tipos de softwares para gestão comercial em ambiente web.

PHP é Open Source, o que significa que é gratuito para usar e tem uma vasta comunidade de desenvolvedores contribuindo para seu desenvolvimento e evolução. Isto é um guia para opções de qualidade em recursos, bibliotecas e frameworks disponíveis aos desenvolvedores PHP. Alguns exemplos: Composer, PHPStan, PhpStorm, Xdebug, Slim-Framework, Symfony, Laravel, GuzzleHttp, Pest PHP e muitos outros.

Razões para utilizar PHP

Vamos elencar várias razões do por quê utilizar a linguagem de programação PHP.

Marketshare do PHP

Uma consulta do W3Techs em maio de 2023 aponta os seguintes números de uso para o PHP e produtos criados com ele:

Marketshare PHP
Marketshare PHP

  • Wordpress: parte dessa presença na Web está relacionada a produtos massivamente utilizados como o CMS (Content Manegement Systems) Wordpress. Segundo W3Techs 63% de todos os sites rodando um CMS usam Wordpress, isto significa 43% dos sites da internet. É MUITA COISA. E não pense que apenas pequenas empresas o usam, Sony Music, Vogue, Flickr, Mozilla são alguns dos nomes que tem seus blogs rodando em Wordpress.

    Ainda em se tratando de CMS, outros muito adotados como Joomla, Drupal, October, engrossam as estatísticas de sites desenvolvidos em PHP.

  • Grandes empresas: grandes empresas possuem soluções internas ou produtos para seu público geral, também desenvolvidos em PHP, como Facebook, Slack, Wikipedia, PicPay.

PHP é rápido

Em comparação com outras linguagens interpretadas, como Ruby ou Python, PHP é muito rápido.

Isso se deve em grande parte à sua arquitetura, e seus laços estreitos com a linguagem C.

Além disso, a equipe principal do PHP vem trabalhado para que desde o PHP versão 7, ele ganhe em performance, reescrevendo o código subjacente para melhorar o desempenho, e eles têm conseguido.

Esta versão sozinha mais do que dobrou o desempenho em comparação com as versões anteriores.

PHP é organizado

O ecossistema PHP é organizado por uma série de entidades que são aceitas como “de fato” pela comunidade, e desempenham papéis de extrema importância para sua organização e constante evolução.

PHP Recomendações de Padrões

PSRs de PHP, ou Recomendações de Padrão PHP (PHP Standarts Recommendations), são uma série de padrões de codificação e acordos de interface que os desenvolvedores seguem ao escrever código PHP. Esses padrões são propostos e aceitos pelo Grupo de Interoperabilidade de Framework PHP (PHP-FIG - PHP Framework Interop Group), composto por representantes de vários grandes projetos PHP.

Alguns dos membros do projeto são: CakePHP, Composer, Joomla, Laminas, Magento, tendo como alguns dos membros fundadores: Doctrine, Guzzle, Symfony, Drupal – dentre muitos outros membros e fundadores.

O objetivo desses padrões é permitir uma maior interoperabilidade entre diferentes partes do código e promover as melhores práticas dentro da comunidade PHP.

Alguns exemplos de PSRs incluem:

  • PSR-1: Padrão de Codificação Básico
  • PSR-2: Guia de Estilo de Codificação
  • PSR-3: Interface de Registro (Logger)
  • PSR-4: Padrão de Carregamento Automático (Autoloading)
  • PSR-7: Interface de Mensagem HTTP
  • PSR-12: Guia de Estilo de Codificação Estendido

Esses padrões cobrem vários aspectos, como organização de arquivos, convenções de nomenclatura, carregamento automático de classes, registro e muito mais. A adesão a esses padrões torna o código mais consistente, legível e sustentável. Também facilita a colaboração entre os desenvolvedores em projetos, pois eles têm um conjunto comum de diretrizes a seguir.

PHP é incrivelmente suportado pela Comunidade

Um exemplo é a The PHP Foundation, uma coletividade de pessoas e organizações que dependem da linguagem PHP. Sua missão é garantir a prosperidade de longo prazo da linguagem PHP.

Sua missão se concentra em fornecer suporte financeiro e orientação aos desenvolvedores da linguagem PHP para apoiar seus objetivos de melhorar a linguagem para seus usuários, fornecer manutenção de alta qualidade e aprimorar o projeto da linguagem PHP para reter colaboradores atuais e integrar novos. A The PHP Foundation emprega 6 desenvolvedores (na época que este artigo foi escrito) em meio período que trabalham na manutenção e em novos recursos para o PHP.

Os dez membros fundadores da fundação incluem empresas conhecidas como Acquia, Automattic, JetBrains, Laravel, PrestaShop, entre outras. Além disso, 183 organizações e 1000 indivíduos apoiam a PHP Foundation. A fundação também está sempre aberta a novos patrocinadores.

Em 2022, a fundação contribuiu com 683 commits e 283 revisões, além de ter sido autora ou coautora de 8 RFCs.

Por que as críticas, muitas vezes, o ódio por PHP?

É necessário também compreender o contexto histórico da linguagem PHP para entender grande parte das críticas a ela, além de elencar alguns problemas por quê nenhuma linguagem de programação atende 100%$ a todas as necessidades, arquiteturas ou mesmo preferências.

Muitos desenvolvedores gostam de criticar outras linguagens, muitas vezes sem conseguirem explicar corretamente o motivo. Seguem alguns contextos históricos para explicar este senso comum entre tantos:

Percepção Equivocada

É verdade que a maioria das pessoas que odeia PHP o faz com base no que seus amigos desenvolvedores dizem e na primeira pesquisa no Google usando o fraquíssimo argumento: “por que PHP é ruim”.

Mas esta não é a base principal. As pessoas seguem “celebridades”, “gurus” da área, tendências e o que foi considerado hype por alguns anos, desde a época do PHP versão 3.

Porém, a linguagem cresceu e evoluiu muito, tendo em cada major version lançada, grandes saltos em qualidade e implementação de novas funcionalidades. Mesmo assim, o volume de material que cita os defeitos das versões antigas ainda é constantemente pesquisado e lido por pessoas que não levam estas evoluções em consideração.

Ainda existe a percepção equivocada de desenvolvedores que criticam abertamente, sem aprofundarem-se no estudo da linguagem e seu ecossistema, trazendo críticas por falta de conhecimento prático.

Existe ainda um grupo de desenvolvedores que se frustra com a linguagem, por estarem presos, codificando nela porém realizando manutenção em aplicativos legados, desta maneira não tendo a oportunidade de conhecer as evoluções da linguagem PHP.

É possível fazer um paralelo com a linguagem javascript. Muitos a odiavam - sim é verdade, nestes 30 anos de carreira eu vi Javascript ser muito mais criticada do que PHP. Porém, esta percepção mudou, principalmente por causa de NodeJs e frameworks frontend como Angular, VueJS e React. Isso abriu caminho para es6, es2016 e uma explosão de outros frameworks como Alpine e muitos mais depois disso.

A percepção da comunidade mudou, não, necessariamente, a linguagem de programação, mas é claro, tanto PHP quanto Javascript evoluíram.

PHP e seu Passado Sombrio

A linguagem PHP percorreu um longo caminho desde sua criação em 1994.

Ela foi originalmente planejada para ser um mecanismo de modelagem em cima de C lang, assim como Twig, Blade ou Jinja para forks Python, ou ainda EJS no mundo NodeJs.

PHP não nasceu para aplicações coorporativas

PHP foi criado em 1994 por Rasmus Lerdof. Em sua primeira versão até mesmo o nome não demonstrava objetivo em ser uma linguagem de programação para aplicações complexas. PHP nasceu com o nome Personal Home Page Tool (Ferramentas Pessoais para Home Page), ou simplesmente PHP Tools.

Seu foco inicial era facilitar o tratamento de formulários de contato e os livros de visitas (tão famosos nos primórdios da internet). Porém sua adoção pela comunidade foi rápida, evoluindo para adição de integração com bancos de dados e uma implementação mais rica, ainda em 94 trouxe HTML embutido (mal visto pela comunidade, porém até mesmo ASP e Java JSP o fizeram n posteriormente).

Ainda contou com evoluções até 1998 quando Andi Gutmans e Zeev Suraski o reescreveram, lnçando a versão 3 com o nome PHP: Hypertext PreProcessor. A versão trouxe suporte parcial a POO e se tornou compatível com Windows e Macintosh. Por sua semelhança com C, ser fácil de aprender e de escrever sistemas simples, além de fácil instalação e distribuição em servidores, fizeram com que sua adoção aumentasse consideravelmente entre pessoas desenvolvedoras com menos experiência ou mesmo iniciantes em programação.

No ano de 2000 a versão 4 foi lançada com melhorias como suporte a vários servidores web, sessões Http, buffering de saída, maior segurança de entrada de dados, melhor suporte a POO, melhor performance. Isto fez com que a linguagem se consolidasse para muitas pessoas desenvolvedoras de site, empreendedores solo, pequenas empresas. E muitos lançaram produtos como Sistemas de Blog, Wikis, Fórums que dominavam a internet, usando PHP.

Porém ele não era aceito no mundo coorporativo de grandes companhias

Desde a versão 5, lançada em 2004 até a versão 7 em dezembro de 2015, muitas empresas adotaram o PHP, porém sua má fama já havia se instalado, apesar de grandes evoluções e atualmente constantes melhorias acompanhando tendências de implementação de sofwtare “modernas” e continuamente solucionar os problemas aos quais ele tem por objetivo resolver: desenvolvimento para web, principalmente no backend.

As escolhas de sintaxe

PPH nasceu com alguns “problemas” com a sintaxe, ao menos inconsistências iniciais de nomenclatura, para ser honesto, algumas coisas ainda me incomodam - não dá para ser perfeito.

Porém é necessário entender que muitas são escolhas que, novamente não invalidam, mas foram sempre alvos de críticas.

Mas os haters disparam e focam nesta característica (que por muitas vezes é isto e não um defeito) para invalidar o uso da linguagem PHP.

Aqui estão alguns exemplos:

a) nl2br(): tem um número em seu nome, porém outras funções internas não.

b) Falta de padronização: Sublinhados - underscore, snake case … vs sem pontuação inferior, por exemplo, fopen(), str_replace(), strtolower(), str_shuffle(), esta falta de padronização por vezes incomoda.

c) Funções desnecessárias: para funções de string com distinção entre maiúsculas e minúsculas vs sem distinção entre maiúsculas e minúsculas, por exemplo str_replace () vs str_ireplace (). Algumas linguagens preferem que o desenvolvedor utilize várias funções, como strtolower() e então str_replace, por exemplo.

d) O uso do carácter $ (sinal de cifrão) para identificar variáveis - esta característica me incomodava no começo, hoje sinto falta em alguns momentos em outras linguagens.

e) O uso de aspas francesas ( -> ) - traço sinal de maior, ao invés de ponto (.) para passar a mensagem de acesso em métodos e propriedades - esta característica sempre me incomodou.

Eu poderia continuar, mas esses são apenas alguns exemplos de problemas ou características únicas, constantemente criticadas, na sintaxe da linguagem PHP, ainda teria a ordenação dos parâmetros, mas vou parar por aqui 🙂 .

Apenas um contraponto, diversas linguagens possuem características estranhas, ou até mesmo bizarras, por enganos em suas versões iniciais ou pior, arquiteturais. Até mesmo a linguagem hype do momento (apesar de sua idade), o javascript … já visitou o site https://wtfjs.com/ ?

Aplicativos legados

Nós, desenvolvedores, realmente odiamos legado. Então, sendo o PHP uma das linguagens de programação para Web mais populares, e das mais antigas, em produção, não há como fugir deste fantasma.

Muitos desenvolvedores acabou sendo arrastado para o pesadelo de manter sistemas legados em versões antigas do PHP, e por causa destas circunstâncias, agora odeiam a mesma.

Aqueles que mudaram para outras linguagens e tecnologias, ainda estão presos no pensamento de que o PHP ainda está nos dias do PHP 3 ou 4.

Referências