Parem de falar mal do PHP!
Esse post é para você que fala mal do PHP ou de qualquer outra linguagem, sem saber para o que ela serve ou como usar corretamente.
Gostaria de mencionar que esse post trata de algumas observações pessoais e opinativas. Fique a vontade para discordar ou concordar comigo.
Eu tenho conversado com bastantes programadores ultimamente, e consegui reconhecer um padrão entre eles quando o assunto era sobre PHP. Eu tenho usado a linguagem profissionalmente desde 2019 e em 2023 passei a usar C# na maioria das coisas, mas ainda uso PHP para algumas coisas.
A linguagem tem seus defeitos, principalmente a sua documentação defeituosa e falta de um padrão de arquitetura em sua API nativa. O código "legado" que ainda é mantido hoje abre um espaço para muitos erros, e uma linguagem dinâmica por si já torna o desenvolvimento mais perigoso que uma linguagem estática, pois abre margem para gambiarras e erros de runtime quando começa a misturar tipos ou conceitos.
PHP é uma linguagem procedural por natureza, não foi feita para ser OOP, mesmo que seja possível. Laravel é uma monstruosidade que traz uma complexidade absurda e desnecessária para o PHP, traz até outro templating-engine (aka. Blade) para a linguagem. PHP por si já é uma linguagem de templating/view-engine. Esse foi o propósito inicial do PHP, ser um template-engine procedural.
O fato dele ser uma linguagem multi-conceitos dinâmica, o que permite você escrever um código orientado à objetos ou um código procedural, é um desastre. PHP é uma linguagem de scripts e que dá certo para escrever páginas web ou rodar em um servidor. Qualquer outro uso disso é gambiarra.
Linguagens dinâmicas e fáceis cria códigos horríveis
... porque é fácil para qualquer pessoa aprender, mesmo alguém que não teve contato nenhum com programação consegue aprender PHP ou Javascript em questão de semanas. O resultado sempre será desastroso. É comum vermos vários programadores iniciantes misturando vários <?php echo
no início do código para criar o conteúdo HTML no cabeçalho do arquivo e várias pessoas fazendo header()
sem saber como a arquitetura request/response funciona.
Não sabem a estrutura do protocolo HTTP, como métodos, status-codes, contents-types, e querem partir para uma linguagem de programação que trata principalmente disso. Por ela ser fácil, acaba sendo mais perigoso deixar todo o desenvolvimento para alguém inexperiente, até porque o mercado de PHP começa sendo um dos mais baratos atualmente. Muitas das pessoas que entram na programação web ignoram a arquitetura web e mal sabem como ela funciona. Isso não é uma regra exclusiva para PHP.
Tão me falando que PHP é ruim, então vou repetir
PHP é uma ferramenta excelente, mas eu não usaria mais para algo muito robusto. Muita gente sai por aí falando que "PHP é ruim" mas não explicam o porquê, e não sabem que mais da metade da web funciona em cima dele.
Essas mesmas pessoas estão usando outra linguagem de script, que faz quase a mesma coisa, só que pior, mas é a queridinha da Rocketseat. Não adianta você querer comparar a performance entre PHP e JavaScript porque o PHP tem seu próprio interpretador, Javascript precisa do Deno ou do Node.js para rodar, então não é possível comparar as linguagens. Quando se trata sobre rps (requests per seconds) o assunto piora, porque PHP pode ser usado por fpm, nginx, apache, litespeed, etc...
A linguagem não faz o programador
É o contrário disso. Um programador que é bom no que faz vai saber usar bem PHP e aplicar onde ele é útil, mesma coisa para Javascript (e qualquer linguagem), e não vai sair por aí dizendo que "PHP é ruim" porque ouviu algum tiktoker gritar isso.
PHP é bom, mas tem seus defeitos. Todas tecnologias tem. Cabe à um bom programador reconhecer estes defeitos e saber onde cada linguagem de programação é útil. Tem que lembrar também que uma linguagem não tem nada a ver com seu compilador, e que cada uma delas tem seu uso.