Fernando Mantoan Desenvolvimento e tecnologia da informação no geral

Arquitetura de Software com CodeIgniter – Introdução

Postado em 06 de maio de 2009. Categorias: CodeIgniter, PHP | 1 Comentário

Arquiteturas de desenvolvimento de software são essenciais para garantir a manutenibilidade e produtividade de qualquer sistema e, unindo-as com design patterns, que são soluções reutilizáveis a problemas comuns encontrados em projetos de software, pode-se ter uma estrutura bem definida e altamente reutilizável. Na linguagem PHP arquiteturas de software também são de extrema importância e esta série de artigos visa a definição de uma arquitetura de software baseada no framework CodeIgniter, onde serão abordados os passos necessários para se definir a arquitetura, com todos os frameworks escolhidos para compô-la, e ao final será feita a elaboração de um sistema de controle de tarefas, para exemplificar o uso da arquitetura.

Frameworks Escolhidos

Um framework nada mais é do que uma estrutura de software que contém elementos comuns e não-específicos dos sistemas, componentes como helpers HTML, ferramentas de autenticação e validação e geradores de PDF. Seguindo o conceito de Don’t Repeat Yourself (DRY), que prega o reaproveitamento de estruturas já prontas para se trabalhar, os frameworks se tornaram essenciais nesta arquitetura, e unindo cada um deles pode-se fornecer uma ótima estrutura de trabalho. Estes frameworks escolhidos são:

  • CodeIgniter
    • O CodeIgniter foi escolhido para fornecer as camadas MVC e o controle das requisições (front_controller, rotas etc.). Existiam outras escolhas como CakePHP ou ZendFramework, porém acredito que o mais fácil de aprender e o mais fácil de se extender e customizar é o CodeIgniter. A partir dele, algumas customizações foram feitas para manter URLs amigáveis e a View e o Model dele foram modificados, graças aos frameworks descritos abaixo.
  • Smarty
    • Smarty é um dos principais e mais robustos frameworks de templates para a linguagem PHP. Ele foi escolhido por conter uma sintaxe limpa e simples para as Views, por fornecer capacidades de cache (o CodeIgniter também provia isso para a View padrão dele) e por não conter uma linha de código PHP em seus templates. A partir de algumas configurações, ele é carregado por todos os Controllers que extenderem a classe “Controller” do CodeIgniter. Equipes que contenham designers ganham muitas vantagens ao utilizar o Smarty, pois eles necessitam apenas aprender a linguagem de template do Smarty, que é muito mais fácil do que o PHP em si, além de fornecer uma independência entre programadores e designers.
  • Doctrine
    • Doctrine é um framework para persistência de dados que se utiliza de mapeamento objeto relacional. Ele é o framework para PHP que mais se assemelha ao Hibernate do Java, e possui uma linguagem customizada para consultas, o que eles chamam de Doctrine Query Language (DQL). Existem ótimas soluções para persistência no PHP, como Lumine ou EZPDO, mas o Doctrine foi escolhido por possuir uma comunidade grande e ativa de desenvolvimento e pela robustez e consistência de suas funcionalidades. As classes Models que o Doctrine gera substituem o Model padrão do CodeIgniter.

A partir desses frameworks, o desenvolvimento das aplicações se mostrou mais ágil, prático e organizado, fornecendo com poucas configurações um método de desenvolvimento que pode ser utilizado em diversas aplicações pequenas e médias.

Isso encerra o artigo de hoje, no próximo artigo falarei sobre os Design Patterns que a arquitetura implementa, alguns já disponibilizados pelo CodeIgniter, outros customizados para se conseguir mais organização de código e uma maior abstração entre as camadas. Até mais.

1 Comentário +

Responder

Codeignitor + smarty + doctrine | Hugo Mastromauro

Postado em 22/12/2009 às 13:19

[...] Vale a pena dar uma lida neste artigo, ele está dividido em 4 etapas. Categoria: Arquitetura de Software, CodeIgnitor, Design Patterns, Frameworks, PHP, Smarty Template Tags: CodeIgnitor, Design Patterns, Frameworks, smarty Cancelar [...]

Deixe um Comentário