Meus Problemas com PHP

A combinação de produtividade extrema e peculiaridades de design de longa data do PHP continua polarizando desenvolvedores web. Comentadores destacam como é fácil ir do zero a um backend funcional e elogiam frameworks modernos como Laravel e Symfony, enquanto criticam inconsistências legadas, o comportamento inseguro da biblioteca padrão e a tendência de confundir apresentação com lógica de negócio. Muitos observam que, apesar de alternativas mais limpas e linguagens mais novas, o acoplamento estreito do PHP com HTTP, a ubiquidade na hospedagem e sua enorme base instalada o mantêm central na web, mesmo enquanto seu ecossistema evolui para esconder ou mitigar suas arestas.

PHP como uma DSL Web Altamente Produtiva

  • Muitos descrevem o PHP como extremamente rápido para ir da ideia a um backend web funcional, mesmo para iniciantes ou para quem está voltando.
  • Pontos fortes: encaixe estreito com HTTP, implantação simples (“jogue um arquivo num servidor”), SSR fácil, bom suporte de hospedagem e ecossistema forte (WordPress, Laravel, Symfony).
  • Alguns comparam PHP ao Go como uma “DSL para serviços de rede/web” e observam o modelo de processo por requisição do PHP e o tratamento embutido de GET/POST/cookies como vantagens únicas.

Misturar PHP e HTML vs. Sistemas de Template

  • Debate sobre se PHP como template é um recurso ou um erro histórico.
  • Pro: sem linguagem de template extra, loops/condicionais simples, rápido de construir e depurar, PHP “é” o mecanismo de template.
  • Contra: incentiva arquivos mistos PHP/HTML/SQL com 1000 linhas, má separação de responsabilidades e torna fácil para juniores colocarem lógica de banco de dados nas views.
  • Alguns argumentam que frameworks e engines de template existem principalmente para impor convenções e proteger com guardrails.
  • Comparações com JSX: alguns veem como “PHP-style mixing rebatizado”, outros enfatizam que JSX é apenas sintaxe sobre chamadas de função com melhor segurança contra XSS.

Quirks de Design da Linguagem e Evolução

  • Reclamações frequentes sobre APIs inconsistentes da stdlib (por exemplo, ordem de argumentos), funções que retornam false em vez de lançar exceções, suporte fraco a iteradores e uso estranho do PHP como um sistema de template “de verdade” (globais, semântica de include).
  • Outros argumentam que muitos desses problemas são mitigados por ferramentas/bibliotecas (wrappers seguros, Psalm/PHPStan, helpers funcionais) e melhorias recentes no core (por exemplo, novos helpers de JSON).
  • Desejos por melhor suporte a async/await, primitivas adequadas para dados binários/buffers e tipos de contêiner mais ricos além de arrays.
  • Alguns sentem que recursos mais novos e padrões “sofisticados” aumentam a carga cognitiva quando usados em excesso.

Frameworks, Ecossistema e Ferramentas

  • Laravel elogiado pela prototipação rápida; Symfony por apps estruturados, “enterprise” (embora alguns o considerem magico demais ou com documentação insuficiente).
  • GraphQL: forte entusiasmo pela abordagem schema-first do Laravel Lighthouse e pela integração profunda com ORM; experiências mistas com outras stacks GraphQL em PHP.
  • Menções a ferramentas modernas como Swoole/FrankenPHP (desempenho, modelo de servidor), analisadores estáticos e wrappers seguros mostram que PHP pode suportar fluxos de trabalho robustos e modernos.

Legado, Percepção e Realidade de Carreira

  • Grande parte da má reputação do PHP vem de codebases legadas de WordPress/CF/PHP5 antigo e de trabalho apressado de agências.
  • Vários observam que PHP moderno (com frameworks e ferramentas) pode ser agradável, performático e lucrativo, mas muitos empregos ainda envolvem “resgatar” código antigo.