O que é, para que serve e quando usar uma framework de PHP?

Guilherme Madail
labmm4a
Published in
7 min readMar 6, 2022

Resumo

Qualquer linguagem, seja ela qual for, tem a sua complexidade. Talvez achemos a língua portuguesa de fácil leitura e dicção, mas sendo ela a nossa língua materna, é fácil de o afirmar. No fundo, o mais importante é conseguirmos comunicar e passar a mensagem seja a quem for.

Mesmo com um vasto leque de inúmeras palavras neste que é o dicionário da nossa língua, muitas vezes acabamos por construir uma frase apenas com o principal objetivo de nos fazermos entender melhor, seja encurtando-a, seja recorrendo a palavras que nos façam transmitir da melhor maneira aquilo que queremos.

As linguagens de código não são diferentes, aprender uma do princípio pode ser um pouco frustrante. Mas mesmo depois de tanto saber e compreender, há sempre obstáculos que nos consomem tempo e que, tal como nas línguas ditas “normais”, podem ser aprimoradas e simplificadas para um melhor entendimento da mesma.

Com certeza todos nós já nos deparamos com situações em que a simples escrita de uma página de código pode ser trabalhosa e bastante repetitiva no momento de programar. A quantidade de blocos de código iguais ou similares pode ser inúmera e a forma como os escrevemos pode ter uma complexidade ainda maior.

Talvez todos desejássemos que, de alguma forma, todas as linguagens tivessem uma escrita mais acessível, que nos pudesse fazer economizar tempo e, quem sabe, que com que nos identificássemos mais.

Será que existe uma forma de tornar a arte de programar numa atividade mais prazerosa e eficiente para quem o faz?

É aqui que entra um dos melhores amigos do desenvolvedor web, a Framework.

O que é uma framework e para que serve?

Para quem nunca ouviu falar, a palavra “framework” pode não parecer muito familiar. Mas com certeza, uma vez conhecida, é um mundo do qual nunca mais se esquece.

Independentemente da linguagem utilizada, seja ela back-end ou front-end, menos ou mais complicada, existe quase sempre um leque considerável de frameworks a utilizar.

Assim sendo, o termo framework, tal como se refere em português como “estrutura”, remete para uma biblioteca de arquivos dos quais o desenvolvedor pode usufruir para que o seu trabalho seja mais eficiente e o foco seja naquilo que mais é mais importante, evitando processos repetitivos.

A sua principal função é tornar tarefas que pareçam complicadas em algo mais claro de entender ao mesmo tempo que otimizam o código na hora de criar ou desenvolver seja o que for, reduzindo algumas dores de cabeça.

À semelhança de muitas linguagens, o PHP não está numa caixa diferente e também dispõe de várias frameworks. Cada qual com as suas vantagens e desvantagens, sendo que algumas são mais direcionadas para uns propósitos e outras para outros. Consoante o programador, existem várias opções com vários estilos, umas mais usadas que outras.

Vamos então explorar este mundo das frameworks de PHP que, quem sabe, nos aproxime mais desta linguagem e nos ajude no nosso dia-a-dia.

Quais os prós e contras ao usar uma framework?

- Prós -

Rápido Desenvolvimento

Com o crescimento do mundo digital nos dias de hoje, nenhuma empresa ou modelo de negócio se pode dar ao luxo de não participar numa vertente tão importante para o desenvolvimento da mesma. Neste caso, a framework pode ser um grande amigo do programador, visto que acelera o processo de desenvolver uma aplicação web e, posteriormente a entrega ser mais rápida.

Manutenção Simplificada

A manutenção de uma aplicação pode ser bastante maçadora. Com a utilização de uma framework esse processo torna-se bastante mais simples, já que a maior parte delas utiliza o método orientado a objetos e torna-se mais simples de interagir e encontrar qualquer bloco de código específico, dado à sua organização por “gavetas”. A maioria delas utiliza o padrão MVC (model-view-controller) que separa a aplicação em camadas diferentes para uma melhor posterior visualização ou edição pelos diferentes envolvidos.

Ligação à base de dados

O uso de ORM (object relational mapping) pode ser bem conveniente porque evita a utilização constante de código SQL para a maior parte de operações relacionadas com a base de dados (seja inserir, apagar, adicionar ou qualquer outra coisa). Para além disso, conseguem trabalhar com a maior parte dos tipos de base de dados relacionais mais usadas no mercado.

- Contras -

Apesar de ser uma forma de trabalhar apelativa, a utilização de frameworks pode ter algumas desvantagens também.

Curva de Aprendizagem

Mesmo com a framework mais adequada, para quem não tenha muita experiência em PHP, a utilização de uma, por vezes, pode ser frustrante. É importante um conhecimento prévio de como funciona a linguagem para que mais facilmente se use uma. Portanto, se o objetivo é aprender como funciona uma, a recomendação é para que esta seja utilizada apenas para um projeto a longo prazo e não para algo a curto ou médio prazo.

Tempo de Execução

Resgatando o tópico anterior, se não previamente estudada, pode adicionar uma camada de tempo não esperada no tempo de execução de um script.

O facto de uma classe ou uma função ser redirecionada para a biblioteca/s incluída na framework, faz com que a execução tenha que fazer um caminho mais logo para que seja concretizada. E esse constrangimento pode causar que uma aplicação por exemplo de grande porte, leve um maior tempo a interagir com a base de dados e, consequentemente, faça as mudanças necessárias pedidas pelo utilizador ou pelo administrador.

Dependência da framework

Ao contrário de algumas frameworks como o Bootstrap, trabalhar com uma de PHP exige uma pré-instalação para que esta funcione. Isto que dizer que, se houver um projeto conjunto de um grupo a trabalhar numa só aplicação, é imprescindível que todos os integrantes tenham a tenham instalada na sua estação de trabalho, caso contrário torna-se impossível trabalhar neste.

Que framework devo usar?

Frameworks não são únicas. E para o PHP existem várias das quais é possível usufruir, cada uma com alguns propósitos que podem encaixar melhor consoante as necessidades de quem a usa. Irei apresentar três das mais conhecidas e usadas pelos programadores de PHP.

A Laravel aparece como a framework de PHP mais famosa de 2021 e é conhecida pela sua segurança no desenvolvimento de aplicações por mais complexas que elas sejam, utilizando a simplicidade de utilização como seu trunfo, para além dos inúmeros documentos demonstrativos de como usá-la disponibilizados no site da própria empresa. Esta é atualizada sempre que o PHP é atualizado. Por alguns destes motivos, esta distingue-se como uma das preferidas de quem trabalha nesta área.

Outra das frameworks mais utilizadas já tem uma longa vida de existência é a Symfony. Ao contrário da anterior, esta utiliza os padrões do próprio PHP, ou seja, embora a sua proposta se identifique com programadores que tenham um maior conhecimento da linguagem, acaba por conceder mais liberdade no momento de programar.

Outra das suas grandes vantagens é o facto de as migrações de bases serem automáticas, requerendo apenas uma mudança de definição.

Ao contrário da Laravel, esta é atualizada em relação às necessidades dos desenvolvedores, visto que disfruta de uma comunidade extremamente grande.

Para o desenvolvimento de aplicações mais leves com a ligação a servidores não tão grandes, a CodeIgniter pode ser a mais indicada. Relativamente às duas outras, esta com certeza é a mais simples de utilizar e contém também várias fontes das quais se pode aprender a usá-la.

Mas nem tudo são rosas. Apesar de parecer uma excelente opção, esta pode apresentar alguns problemas de segurança quando toca a altos níveis de segurança e, além disso, nem sempre está atualizada.

Menções honrosas para outras frameworks de PHP
Zend , CakePHP , Yii2 , Phalcon , FuelPHP

Uso de frameworks PHP em projetos web

Frameworks são o futuro do PHP?

Responder a esta pergunta não se trata de um simples “SIM” ou “NÃO”.

Como já pudemos ver, as frameworks têm uma grande fatia na utilização de maior parte das linguagens web, e o PHP não é exceção.

Com todas as vantagens e desvantagens que estas possam ter, com certeza vai sempre haver uma parte da comunidade que prefere utilizar uma e outra parte que opta por se manter fiel às raízes.

Mas como já mencionado, tudo depende do projeto no qual se se está envolvido, o objetivo do mesmo e de que forma compensa mais usar ou não uma delas. De salientar mais uma vez que, uma vez usada por uma pessoa num projeto, todos os restantes intervenientes precisam estar em linha com o mesmo. Isto obriga, posteriormente, a um conhecimento do manuseamento da framework por parte de todos os integrantes.

Portanto, antes de optar por operar com uma, há sempre algumas questões que têm que ser consideradas.

Embora seja bastante apelativo, antes de usar uma, é sempre recomendado que se aprenda primeiro o próprio PHP (raiz), caso contrário, a dificuldade de lidar com uma framework torna-se bastante difícil, senão impossível.

Websites consultados na pesquisa para a concretização deste artigo

https://www.hostinger.pt/tutoriais/fram

https://www.jotform.com/blog/discussing-php-frameworks/

https://code.tutsplus.com/tutorials/should-you-use-a-php-framework-five-pros-and-cons--cms-28905º

https://medium.com/@mindfiresolutions.usa/advantages-and-disadvantages-of-php-frameworks-c046d50754e5

https://raygun.com/blog/top-php-frameworks/

https://hackr.io/blog/best-php-frameworks

https://asperbrothers.com/blog/laravel-vs-symfony/

https://hackernoon.com/php-frameworks-explained-in-5-simple-questions-uvz31i7

https://dev.to/theme_selection/which-php-framework-is-best-for-web-development-in-2021-5ck5

https://www.ateamsoftsolutions.com/laravel-the-future-of-php/

--

--