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
falseem 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 deinclude). - 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.