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:
- O index.php serve como um controlador primário, iniciando os recursos básicos necessários para rodar o CodeIgniter.
- O roteador examina a requisição HTTP para determinar o que deve ser feito com ela.
- Se já existe o arquivo ‘cacheado’, ele é enviado diretamente ao browser, ignorando o sistema normal de execução.
- 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.
- O Controller carrega o modelo, as bibliotecas principais, plugins, assistentes e quaisquer outros recursos necessários para processar a requisição específica.
- 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.