Arquitetura de Informação

9 out, 2009

Criando uma aplicação com o framework CodeIgniter

Publicidade

Leia o artigo anterior:

Soluções com o frameWork CodeIgniter

*

Continuando a série de artigos sobre o FrameWork CodeIgniter, hoje vamos criar a nossa primeira aplicação com ele.

Com o FrameWork já configurado (leia o artigo anterior), seguiremos com uma breve explicação da arquitetura de funcionamento de uma aplicação.

Fluxograma da Aplicação

Primeiramente faremos uma breve explicação sobre a arquitetura do CodeIgniter, vejamos a figura 1:

  1. O index.php serve como um controlador primário, iniciando os recursos básicos necessários para rodar o CodeIgniter.
  2. O roteador examina a requisição HTTP para determinar o que deve ser feito com ela.
  3. Se já existe o arquivo ‘cacheado’, ele é enviado diretamente ao browser, ignorando o sistema normal de execução.
  4. Segurança. Antes de o controller de aplicação ser carregado, a requisição HTTP e qualquer dado submetido pelo usuário é filtrado por segurança.
  5. O Controller carrega o modelo, as bibliotecas principais, plugins, assistentes e quaisquer outros recursos necessários para processar a requisição específica.
  6. A View finalizada é renderizada e então enviada ao browser para ser vista. Se o cache está habilitado, a view é ‘cacheada’ primeiro para que seja servida em requisições subseqüentes.

URLs amigáveis

O CodeIgniter trabalha com urls amigáveis. Além da vantagem estética, elas ajudam as máquinas de busca na indexação. Com base nessa boa prática de desenvolvimento, sugiro alterar o nome da controller padrão.

Observação: a configuração abaixo fica a critério do programador, só aconselho a fazer, por questão de nomenclatura do projeto.

Primeiramente vamos alterar o arquivo system/application/config/routes.php na linha 43 de

$route[‘default_controller’] = “welcome”;

para

$route[‘default_controller’] = “home”;

Este é o arquivo onde é chamado a primeira controller da sua aplicação.

Agora, renomeie o arquivo system/application/controllers/welcome.php para home.php e edite a linha 3 de

class Welcome extends Controller {

para

class home extends Controller {

No mesmo arquivo edite também a linha 5 de

function Welcome()

para

function home()

O método index() é o método principal da classe, o que será executado primeiro.

Então, quando você acessar o endereço http://localhost/codeigniter/ ou http://localhost/codeigniter/index.php/home, estará acessando a controller home.

A biblioteca Parser de templates

O CodeIgniter tem uma biblioteca própria, para gerenciar arquivos de templates HTML.

Para que a biblioteca funcione, teremos que carregá-la previamente. Existem duas maneiras para isso. A primeira é usar o método

this->load->library(‘parser’);

dentro do construtor da classe ou do método utilizado, ou ainda carregá-la no arquivo

system/application/config/autoload.php, fazendo uma edição na linha 42, conforme exemplo abaixo:

$autoload[‘libraries’] = array(‘parser’);

Para adicionar mais bibliotecas, basta colocar uma vírgula e adicionar o nome da biblioteca, como o exemplo abaixo:

$autoload[‘libraries’] = array(‘parser’, ‘database’, ‘session’);

Vamos renomear e alterar o arquivo system/application/views/welcome_message.php para template_view.php. Eu alterei essa view para um template padrão, mas poderia ser qualquer HTML, conforme a sua necessidade; adicionei marcadores, para o template conforme a figura 2.