Blog Tecnológico

Economize com MVC no PHP

Saulo Schmidt • 28 abr 2016

MVC no PHP – Como economizar tempo com manutenção dos aplicativos


Você precisa corrigir um bug em produção e identifica o arquivo PHP que precisa ser alterado: ele tem uma única classe, 15 mil linhas de código, sozinho conecta no banco, verifica parâmetros, processa os dados, formata em HTML e exibe no navegador.

Após algumas horas analisando o arquivo, você corrige um cálculo que continha o erro. Mas ele continua ocorrendo em outras duas partes do sistema que fazem um cálculo parecido. A manutenção que deveria demorar uma hora acaba consumindo quase dois dias inteiros.

Se isso já aconteceu com você, saiba que não está sozinho. Muitos programas são desenvolvidos de forma desorganizada, gerando duplicidade de código, falta de padronização na codificação, entre outros.

Para solucionar esse problema, foi desenvolvido o MVC.

 

O que é MVC?

MVC

 

Em resumo, o MVC (Model-View-Controller) é um padrão de desenvolvimento de software (design pattern) em que se separam os códigos em três camadas distintas com funções específicas:

  • Model: é responsável por conter as regras de negócio e realizar a integração com os modelos de dados - armazenar e recuperar dados armazenados;
  • View: é a interface com o usuário do sistema, ou seja, deve exibir o conteúdo das telas do sistema para o usuário;
  • Controller: deve controlar as requisições e servir de ponte entre as outras duas camadas.


Benefícios do MVC


Diminuir o custo de manutenção é o principal benefício de utilizar o modelo de arquitetura MVC no desenvolvimento dos softwares. Esse benefício é atingido por meio das diversas vantagens que o modelo proporciona:

  • Reutilização de código, com a correta segmentação das camadas, os códigos podem ser reutilizados mais facilmente.
  • Facilidade de manutenção e divisão de trabalho em equipes maiores, devido à organização e padronização dos códigos fonte torna-se mais fácil dividir o trabalho;
  • Camada de persistência isolada, evitando que alterações de tela impactem a persistência dos dados e vice-versa.

 

Frameworks PHP

frameworks

Atualmente, alguns frameworks em PHP utilizam a arquitetura MVC e trazem consigo vantagens e desvantagens se comparados entre si e em relação à codificação em PHP “puro”, ou seja, sem utilizar frameworks prontos.

Dentre as vantagens de se codificar em PHP puro destacam-se duas: a extrema flexibilidade na codificação e a obtenção de um melhor desempenho da aplicação, pois um código em PHP “puro” faz apenas o que precisa ser feito e um framework sempre consome um pouco mais de recursos. Mas para obter tais benefícios, é necessário que o código seja eficiente, seguro, bem estruturado quanto a sua arquitetura e bem otimizado.
Contudo, são vantagens difíceis de alcançar, principalmente para equipes com programadores que não possuem conhecimentos avançados na linguagem.


Em contrapartida, frameworks são bem estruturados, em sua maioria já contemplam algumas boas práticas de segurança e ainda trazem algumas bibliotecas que aceleram o tempo de programação e manutenção dos softwares.

 

Codeigniter

code

 

O CodeIgniter é um framework de produtividade em PHP que, dentre outras coisas, implementa MVC e que vem sendo bastante utilizado por muitos profissionais de PHP nos últimos anos.

Como vantagens do CodeIgniter, pode-se citar:

  • Migração simples de um servidor de hospedagem para outro.
  • Baixa curva de aprendizagem
  • Fácil implantação e personalização.
  • A implementação do Active Record é simples e fácil de lembrar.
  • Facilita a separação do trabalho para desenvolvimento paralelo.
  • Ampla coletânea de bibliotecas nativas e facilidade de criação de novas.
  • Documentação detalhada.

 

Na lista de desvantagens do CodeIgniter, frente a outros frameworks, contam:

  • Exclusivo para PHP
  • Não possui ORM (mapeamento objeto-relacional).
  • Baixa frequência de releases: 4 a 5 por ano.

 

Conclusão

Em resumo, a utilização do framework Codeigniter pode reduzir significativamente o tempo codificação, tanto no desenvolvimento, como na manutenção de aplicativos em PHP.
Por implementar o padrão MVC com alta flexibilidade, permitindo sua otimização de acordo com os requisitos de cada projeto, e dispor de uma vasta biblioteca de apoio que simplifica a codificação de tarefas frequente utilizadas, como persistência de dados, manuseio de URLs, entre outros; o investimento de tempo e recursos na capacitação da equipe de desenvolvimento em utilizar deste poderoso framework pode ter retorno já no primeiro projeto que a equipe implantar.

Saulo Schmidt

Saulo Schmidt é formado em Ciência da Computação e pós-graduado em Gestão de Negócios, trabalhou por 12 anos com desenvolvimento de sistemas nas multinacionais TAM e IBM; há um ano atua como desenvolvedor freelancer e empreende um negócio voltado para causas socioambientais.

CONTATO