A evolução do PHP reflete o crescimento da internet e as exigências cada vez maiores de recursos, eficiência e produtividade. Saiba mais detalhes!

Existe um aspecto estratégico que interfere em todo o desenvolvimento tecnológico da internet: tudo custa dinheiro. Tudo mesmo, do uso de sistemas ao tempo em que uma determinada aplicação fica ociosa.

Assim, uma parte importante do desenvolvimento de software procura aumentar a eficiência e a produtividade dos sistemas para reduzir custos e melhorar os resultados das empresas. É assim, por exemplo, com o PHP.

Vinicius Dias, instrutor na Alura e Zend Certified Engineer. Foto: Renan Facciolo.

Em sua apresentação no PHP Community Summit, evento realizado pela Locaweb com coparticipação do PHPSP, o desenvolvedor full Stack Vinicius Dias, instrutor na Alura e Zend Certified Engineer, mostrou como a evolução do PHP sempre esteve diretamente ligada a necessidades técnicas relacionadas ao aumento de performance dos sistemas.

“O PHP nasceu quando a complexidade na internet aumentou e a demora na devolução de requisições passou a ser considerada excessiva. Isso lá nos tempos em que ‘tudo era mato’ – e esse framework continua valendo até hoje”, comenta o especialista.

Navegue pelo índice

    E como era no início?

    Nos primórdios da internet, era usada a Common Gateway Interface (CGI), um programa em C ou C++ que recebia as requisições que chegavam ao servidor Web, fazia a execução e mandava a resposta para a saída, para ser devolvida para o usuário.

    A cada nova requisição, um novo processo era criado, fazia o processamento e era encerrado. “Cada requisição incorria em todo o custo de inicializar recursos, alocar memória e fazer o processamento. No início, as perdas eram aceitáveis, mas conforme a internet ganhou popularidade, esse processo passou a representar perda de performance”, explica. Era preciso mudar.

    A mudança veio com o nascimento do PHP, um conjunto de ferramentas para facilitar a visualização do conteúdo e fazer uma separação dos recursos. “O PHP nasceu como uma template engine para facilitar a visualização das informações, enquanto códigos em C faziam o processamento”, afirma Dias.

    Crescendo para além de um conjunto de bibliotecas de visualização, o PHP se tornou uma linguagem de programação.

    E então veio o Apache

    Por muito tempo, o Apache foi a única opção para trabalhar com PHP como linguagem de programação. “O Apache traz embutido um processador de PHP, fazendo com que, a cada nova requisição, não fosse necessário inicializar o PHP. Essa configuração diminuiu muito o custo de processamento. E como essa feature já vinha pronta, era só habilitar, facilitou muito a vida dos devs”, explica Dias.

    Assim, uma organização com um servidor HTTP ganhou muito espaço no ambiente de desenvolvimento web e, como consequência, impulsionou o uso do PHP.

    Mas nem sempre as novidades trazem somente lados positivos. A arquitetura oferecida pelo Apache fazia com que o servidor Web tivesse que lidar com processos adicionais.

    “No início esse custo ainda era mais vantajoso do que fazer as coisas à moda antiga, mas, com o crescimento da internet, esse ponto passou a ser cada vez mais relevante”, analisa Dias.

    A “antiga modernidade”

    Foto: Renan Facciolo.

    Em 2010, surgiu o PHP-FHM, um passo que representou um enorme avanço de performance para os servidores. “O PHP-FPM é inspirado no CGI original, com a diferença de que, a cada requisição, não ocorre o caminho de iniciar/processar/finalizar o processo”, conta o especialista.

    Em vez disso, o processo é inicializado, recebe as requisições, envia para processamento e cria pools de processos que podem receber várias requisições. Assim como seus antecessores, o PHP-FHM encontrou uma forma de contornar ineficiências para gerar ganhos de produtividade e reduzir os custos de processamento.

    Mas ainda era possível evoluir, uma vez que essa arquitetura respeita a internet como ela nasceu (totalmente independente) e não compartilha recursos, pois as requisições são independentes. Entre as desvantagens, está o fato de que a inicialização tem um custo que se torna cada vez mais relevante. Era possível evoluir. E a evolução veio.

    A “nova modernidade”

    Com o React PHP, surgiu o conceito de “event loop”, que evita a inicialização constante dos eventos. “O servidor Web em PHP passa a ser autocontido, deixando de precisar de Apache ou Nginx para receber requisições. Aqui, o próprio PHP recebe as requisições”, explica o especialista.

    Isso permite que o PHP abra uma conexão, suba o framework e prepare todo o ambiente para trabalhar as requisições que virão.

    “O React PHP viabiliza a comunicação em tempo real, o tratamento de requisições simultâneas e diversas operações de I/O em cada requisição – o que, mais uma vez, diminui a ociosidade dos servidores e promove um uso mais inteligente dos recursos”, analisa Dias.

    O React PHP, em sua visão, foi uma grande revolução para o sistema, mas necessita de códigos específicos para tarefas do dia a dia, como acesso a bancos de dados.

    “A tecnologia exige a mudança dos frameworks para I/O não bloqueante, o que é facilitado com o uso de extensões como o Swoole”, comenta. O resultado é um sistema um pouco menos amigável para iniciantes, mas com uma performance muito mais poderosa.

    Expectativas para o futuro

    Para Dias, o futuro pertence, cada vez mais, a aplicações que façam o código PHP que conhecemos funcionar de forma assíncrona. “É parte de uma evolução constante da tecnologia e que entrega cada vez mais performance”, afirma.

    Ele, porém, faz um alerta importante: não incorpore a tecnologia pela tecnologia. “Nem todo mundo vai precisar de I/O não bloqueante. Por isso, vale sempre avaliar a necessidade do uso e adotar a melhor solução para cada caso, segundo a demanda do cliente”, completa.

    O autor

    Liliane Oliveira

    Liliane Oliveira é Coordenadora de Marketing de Conteúdo e SEO na Locaweb, com especialização em Marketing pela ESPM. Com mais de 15 anos de experiência no setor de tecnologia, ela se destaca como especialista em SEO, criação de conteúdo, gestão de blogs, sites e canais do YouTube. Seu trabalho é voltado para o aumento do tráfego orgânico e geração de resultados. Além disso, ela encontra equilíbrio praticando yoga, conhecendo novos lugares e se dedicando a novas aprendizagens, sempre como uma eterna padawan.

    Veja outros conteúdos desse autor