Desenvolvimento - PHP

Framework CodeIgnite

Esse artigo para aqueles programadores PHP com uma certa experiência, que até hoje não aderiu um framework e/ou arquitetura MVC. De forma simples esse artigo mostra as vantagens de aderir um framework para desenvolvimento de sites e sistemas web com PHP.

por Daniel Bastos



Do Machado à Motosserra (CodeIgniter)

“As pessoas não sabem o que querem até você mostrar a elas.” (Steve Jobs)

Para você, leitor, entender melhor o objetivo deste artigo, apresento-lhe este exemplo:

Imaginemos que você é um profissional que trabalha há muito tempo com uma ferramenta, o Machado. Com o Machado, você possuía uma média de cinco sacos de lenha por dia. Por muito tempo você atendia de forma satisfatória o mercado. Porém, com o passar do tempo, o mercado começou a exigir uma produção maior e de melhor qualidade,  seus concorrentes já haviam lhe superado e, você, perdendo espaço. Ai você se pergunta: Como meus concorrentes conseguiram aumentar a produção? Trabalhando mais? Não! Utilizando a ferramenta correta! Nesse caso, a Motosserra! Agora, vou mostrar para você, caro lenhador, como trocar o Machado pela Motosserra sem se arrepender do conhecer o novo.

Modificando nosso exemplo para uma linguagem de programação, partimos do princípio que você já tenha conhecimento de PHP, trabalha muito tempo estagnado com a mesmo tecnologia,  sem a utilização para frameworks. Acredite, você está perdendo sacos de lenha e espaço no mercado de trabalho.

Assim como a Motosserra foi apresentada ao nosso lenhador, irei apresentar para você o CodeIgniter.

Atualizando a ferramenta

O CodeIgniter é um framework versátil e leve possibilitando a construção de aplicações e sistemas sob o paradigma da orientação a objetos e seguindo o designer pattern MVC¹. Como possui um grande conjunto de bibliotecas que agilizam a implementação das tarefas do nosso dia-a-dia, mantemos o foco no que realmente nos interessa, o projeto.

Vantagens de utilizar o CodeIgniter:

Fácil aprendizado, experiência própria;

A curva de aprendizado é menor que com os demais frameworks, experiência própria;

Atende suas necessidades (indico tanto para pequenos projetos, como para grandes projetos);

Trabalha com o padrão MVC;

Atende perfeitamente às necessidades da POO, pois provê, de forma simples, a comunicação entre as camadas;

Documentação clara e completa;

Por que a Motosserra?

Atuando no mercado de trabalho há algum tempo, e percebendo os grandes avanços das diversas áreas de TI, nota-se que é de grande importância que os desenvolvedores busquem novas tecnologias e capacitações, pois a exigência dos novos projetos vem aumentando cada dia mais.

Com o passar do tempo, ter experiência em linguagens de programação, neste caso o PHP, pode já não ser o bastante. Antigos paradigmas devem ser quebrados para manter-se sempre valorizado no mercado.

Como utilizar a Motosserra?

Inicialmente é importante deixar claro que cada framework possui a sua própria estrutura de arquivos e diretórios. Com isso, identificaremos os pontos chave para iniciar esta nova fase na sua carreira.

Partindo da ideia que todos já possuem o seu ambiente de desenvolvimento PHP preparado, vamos ao que realmente interessa agora, conhecer o CodeIgniter.

Modo de preparo

Para que tudo ocorra sem grandes problemas, vamos preparar toda a estrutura necessária para que o CodeIgniter possa rodar.

Vá até o site oficial e faça o download (versão utilizada 2.0.0): http://codeigniter.com/downloads

Baixe o arquivo “CodeIgniter_2.0.0.zip” e descompacte-o no diretório onde irá rodar seu site.

Vamos analisar sua estrutura de pastas e arquivos. Primeiramente é criado:

Três pastas (application, system e user_guide);

Um arquivo chamado index.php;

Um arquivo contendo a licença de uso, chamado license.txt;

O arquivo index.php possui diversas configurações que já vem pré-definidas que, para evitar problemas logo de início, não devemos modificá-lo. Agora veremos mais detalhes sobre os diretórios criados:

user_guide: Nada mais é, do que o manual que você encontra no site oficial do CodeIgniter disponível na sua máquina. Vale a pena mencionar que é um ótimo manual;

system: Assim como o Windows possui uma pasta chamada System, onde se encontram os arquivos  de configuração do Sistema Operacional que não devem ser alterados, na pasta system do CodeIgniter, também estão localizados os principais arquivos do framework. Recomendo que só altere os fontes localizados neste diretório se possuir um nível de conhecimento elevado para evitar qualquer transtorno.

application: Neste diretório é que as coisas começam a fazer sentido, é dentro desta pasta que iremos adicionar, alterar e deletar os arquivos do nosso projeto;

Trabalharemos agora nos arquivos e diretórios que se encontram dentro da pasta application:

config: Nesta pasta são encontrados os arquivos de configuração do CodeIgniter para cada projeto.

autoload.php: Neste arquivo são definidos quais libraries, helpers, config, language e model serão carregados junto com o site. Exemplo: O seu site esta constantemente conectado ao banco de dados, então você pode adicionar no array libraries o valor database, qual refere-se a biblioteca que realiza todas as operações com o banco de dados;

config.php: Neste arquivo você pode alterar algumas configurações referente ao idioma, charset, dentre outras configurações que é utilizado pelo CodeIgniter;

database.php: É aqui que você configura os parâmetros para a conexão com banco de dados;

routes.php: Neste arquivo há uma variável chamada $route["default_controller"] que você deve definir qual controladora deve ser chamada caso no esteja especificado na URL;

controllers: É nesta pasta que você deve salvar as controladoras de seu projeto;

models: É nesta pasta que você deve salvar os modelos de seu projeto;

views: É nesta pasta que você deve salvar as visualizações de seu projeto;

Considerações finais

Após detalhar no artigo os motivos, vantagens e algumas particularidades do framework CodeIgniter, espero ter conseguido passar para todos um pouco do meu conhecimento sobre essa tecnologia que utilizo no meu dia-a-dia, e recomendo à todos que não temam a novas tecnologias e novos paradigmas. As tecnologias evoluem, e nós, como desenvolvedores profissionais, devemos estar acompanhando esta evolução.

Deixo para um próximo artigo, mostrar como criar seu primeiro site com o framework CodeIgniter, detalhar mais sobre o padrão MVC, e fazer você despertar para o novo sem perder sacos de lenha!

Fontes de Referência

Gabardo, Ademir Cristiano: Codelgniter Framework PHP, São Paulo: Novatec, 2010.

Dall"Oglio , Pablo: Programando com Orientação a Objetos (Inclui Design Patterns), São Paulo: Novatec, 2007.

Sobre o CodeIgniter, Disponível em: <http://codeigniter.com.br/pagina/5/bem-vindo-codeigniter-brasil>. Acessado em Março de 2011.

CodeIgniter, Disponível em: <http://pt.wikipedia.org/wiki/CodeIgniter>. Acessado em Março de 2011.

Framework, Disponível em: <http://pt.wikipedia.org/wiki/Framework>. Acessado em Março de 2011.

Daniel Bastos

Daniel Bastos - Colunista do Linha de Código.