Frameworks de PHP: O que são? Para que existem? Quais as mais usadas?

Ana Rita Tomás
labmm4a
Published in
7 min readMar 6, 2022

Resumo

Os frameworks são ferramentas utilizadas por vários programadores de forma a otimizar os resultados que pretendem.

Existem vários frameworks de PHP, no entanto, cada um deles é único e, por isso, cada programador precisa de identificar os pontos que acha fulcrais para o seu projeto e escolher um framework que se enquadre no mesmo. No presente ensaio serão apresentados os mais usados em PHP: Laravel, CodeIgniter, Symfony; bem como as vantagens e desvantagens de utilizar este tipo de ferramentas.

O presente ensaio teórico visa abordar a temática dos frameworks de PHP. Inicialmente é importante compreender o conceito de frameworks, sendo estes conjuntos de bibliotecas que incorporam ferramentas já existentes. Estas ferramentas têm como objetivos solucionar problemas específicos, de forma a otimizar o resultado que o programador pretende e fornecer ao utilizador uma base que possa ser utilizada para desenvolver projetos mais eficazes.

Antes da utilização dos frameworks, é necessário que os programadores compreendam as vantagens e as desvantagens inerentes a esta ferramenta.

Relativamente às vantagens, considera-se que existam três principais benefícios aquando da utilização de frameworks, nomeadamente a redução de tempo, a segurança e os padrões de legibilidade. A redução de tempo remete para a agilidade com que o programador consegue utilizar estes frameworks, e assim, irão promover uma maior produtividade e menos desperdício de tempo e de esforço. Relativamente à segurança, os frameworks, por serem desenvolvidos por comunidades de programadores e por permitirem alterações e modificações, aumentam a qualidade do código e, desta forma, ao implementar este tipo de ferramentas, o utilizador terá menos erros no seu código conferindo-lhe uma maior segurança. No que diz respeito aos padrões de legibilidade, este é um requisito muito importante, uma vez que manter o código limpo é extremamente relevante para que os programadores consigam realizar as manutenções necessárias. Assim sendo, estes são criados sob este padrão garantindo uma clareza elevada.

No que concerne às desvantagens referentes à utilização destas ferramentas, refere-se uma que está no cerne de todas as desvantagens, nomeadamente os problemas de configuração, uma vez que pode ser difícil adaptá-los ao código que já está implementado e garantir que existe comunicação entre eles e outras partes do sistema. Para além desta desvantagem, enumeram-se mais duas, particularmente a dependência e os códigos desnecessários. A dependência refere-se ao uso exagerado desta ferramenta que apresenta funcionalidades prontas. Como os frameworks permitem resolver grandes problemas, por vezes podem trazer mais código do que o que é realmente necessário.

Uma vez compreendido o conceito de framework, segue-se uma explicação acerca dos frameworks de PHP. Estes fornecem uma estrutura básica, com o código bem estruturado, organizado e reutilizável para ajudar os programadores ao longo do processo de desenvolvimento de plataformas web. Portanto, a utilização deste tipo de ferramentas é vantajosa na medida em que, facilita a rápida conclusão de um projeto eficiente.

Deste modo, é crucial referir a principal função dos frameworks de PHP, nomeadamente atender às funções consideradas básicas, como a gestão de membros e de conteúdos, as pesquisas e a assistência à administração. Desta forma, os programadores quando os utilizam ficam disponíveis para se focarem a cem por cento no desenvolvimento do website.

Para além das vantagens e desvantagens mencionadas anteriormente, as frameworks de PHP também possuem prós e contras específicos.

Assim, no que concerne às vantagens, enumeram-se as seguintes: acelerar o desenvolvimento de aplicações web personalizados, visto que oferece recursos, ferramentas e fragmentos de código que facilitam o processo; aplicar base de dados de forma eficiente, uma vez que simplificam as operações efetuadas nas mesmas; proteger os websites de ataques de segurança, tendo em conta que o PHP é uma linguagem de programação muito insegura; automatizar tarefas comuns do desenvolvimento web.

Passando agora para as desvantagens, podem considera-se as seguintes: é necessário aprender frameworks de PHP em vez da própria linguagem, dado que, estes facilitam a adição de funcionalidades a uma aplicação web sem introduzir código adicional; a qualidade dos frameworks de PHP apresentam diferenças entre si na medida em que têm finalidades distintas; podem afetar o desempenho e a velocidade do website sendo que este tipo de ferramentas adiciona um peso extra à aplicação; conseguem modificar o comportamento base dos frameworks, visto que alguns necessitam de ferramentas especificas.

Tendo em conta as vantagens e desvantagens apresentadas, é essencial selecionar qual dos frameworks é mais adequado para utilizar no desenvolvimento do projeto em questão. Para tal, é necessário analisar todos os frameworks existentes no mercado e a sua documentação. Para além disso, é fundamental perceber qual dos frameworks recebe um maior número de atualizações ao longo dos anos, dado que, esta informação revela uma maior qualidade. Por último e não menos importante, é crucial perceber se a curva de aprendizagem é muito acentuada ou não.

De seguida enumeram-se quatro frameworks que se encontram inseridas no top dez das melhores frameworks de PHP, tais como Laravel, CodeIgniter, Symfony e o Zend Framework no entanto, existem muitas outras com funcionalidades diferentes.

Relativamente ao framework Laravel, este apresenta diversos recursos que possibilitam o rápido desenvolvimento de aplicações Web. Foi introduzido no mercado em 2011, tornando-se o mais popular uma vez que permite lidar com aplicações complexas com segurança e a um ritmo consideravelmente mais rápido do que outros frameworks. Esta ferramenta contem um motor de modelagem que facilita o processo de desenvolvimento de tarefas comuns como, por exemplo, a autenticação. Apresenta uma vasta documentação e muitos recursos online que facilitam a sua utilização.

Figura 1 — Framework Laravel

No que diz respeito ao framework CodeIgniter, este é adequado para o desenvolvimento de websites dinâmicos, visto que oferece vários recursos que ajudam no processo de construção de componentes reutilizáveis e firmes. Além disso, também é apropriado para desenvolver aplicações leves para executar em servidores simples. Apresenta uma estrutura leve, uma vez que possui apenas 2MB de tamanho, incluindo a documentação. É extremamente popular devido ao facto de possuir um desempenho sólido e uma velocidade relativamente mais rápida do que outros frameworks.

Figura 2 — Framework CodeIgniter

Em relação ao framework Symfony, este é apropriado para desenvolver projetos corporativos em grande escala. Foi lançado em 2005 e, apesar de estar no mercado há vários anos, continua a ser uma das grandes escolhas dos programadores, uma vez que fornece uma vasta rede bibliotecas e componentes reutilizáveis que permitem finalizar uma variedade de tarefas como a configuração de objetos. Este framework é suportado por uma grande comunidade de programação, que apresenta uma variedade de tutoriais online para ajudar o utilizar a iniciar a sua tarefa.

Figura 3 — Framework Symfony

O Zend Framework foi produzido com base na “metodologia ágil” com o objetivo de desenvolver aplicações web de alta qualidade e a um nível corporativo. Tem como propósito disponibilizar uma elevada capacidade de personalização e atende às excelentes práticas de PHP, o que facilita o trabalho dos programadores quando estes desejam incluir funções especificas no seu projeto. Este framework foi desenvolvido com base nos conceitos de segurança, velocidade, desempenho e extensibilidade, no entanto, é considerado um dos frameworks mais difíceis de aprender.

Figura 4 — Zend Framework

Após finalizada a análise detalhada de alguns estes frameworks de PHP é possível concluir que estas ferramentas são muito importantes para auxiliar os programadores nos seus projetos. Estes frameworks servirão de guia para o desenvolvimento dos projetos tendo em conta todas as vantagens e desvantagens, nunca esquecendo a fase de análise e seleção da melhor ferramenta na ajuda do desenvolvimento do trabalho em questão.

No presente ensaio foi possível compreender a existência de diversos frameworks, tais como: o Laravel que permite o rápido desenvolvimento de aplicações web, uma vez que, a sua velocidade e desempenho são significativamente mais eficazes; o CodeIgniter utilizado em websites dinâmicos; o Symfony aplicado em projetos corporativos; e, por fim, o Zend Framework, que apesar de ter uma curva de aprendizagem mais acentuada, tem como principal objetivo permitir a personalização e atender às excelentes práticas de PHP.

No entanto, uma grande parte dos utilizadores destas ferramentas consideram que são indispensáveis no seu trabalho.

Referências Bibliográficas

Bathia, S. (08 de janeiro de 2021). Best PHP Frameworks for Web Development. Obtido de Hackr.io: https://hackr.io/blog/best-php-frameworks

Lab, E. (s.d.). CodeIgniter. Obtido de CodeIgniter: https://www.codeigniter.com/

nd. (s.d.). Obtido de https://www.quora.com/Whats-the-benefit-of-a-PHP-Framework

Njenga, A. (21 de novembro de 2018). 10 Popular PHP frameworks to consider. Obtido de Raygun: https://raygun.com/blog/top-php-frameworks/

Noleto, C. (13 de fevereiro de 2020). Framework: o que é, como ele funciona e para que serve? Obtido de Blog Betrybe: https://blog.betrybe.com/framework-de-programacao/o-que-e-framework/

Otwell, T. (2011). Laravel. Obtido de Laravel: https://laravel.com/

SAS, S. (2005). Symfony. Obtido de Symfony: https://symfony.com/

Sites, R. C. (10 de agosto de 2017). Frameworks no PHP — O que são e como utilizar? Obtido de Cia Websites: https://www.ciawebsites.com.br/tecnologia/frameworks-no-php-o-que-sao-e-como-utilizar/

Solutions, M. (20 de maio de 2018). Advantages and Disadvantages of PHP Frameworks. Obtido de Medium: https://medium.com/@mindfiresolutions.usa/advantages-and-disadvantages-of-php-frameworks-c046d50754e5

--

--