Precisa de um freelancer, códigos-fonte e exemplos completos?
Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
 
Arquivo de Códigos - Página Inicial
Códigos-fonte
» Códigos-fonte e exemplos completos
Linguagens
» ActionScript
» Adobe AIR
» Adobe Flex
» AJAX
» C
» C#
» C++
» CSS
» Delphi
» DHTML - Dynamic HTML
» HTML/XHTML
» Java
» JavaFX
» JavaScript
» Java Servlets
» JSP - Java Server Pages
» Perl
» PHP
» PHP-GTK
» Python
» Ruby
» Tcl/Tk
» VB.NET
Bancos de Dados
» IBM DB2
» MySQL
Frameworks
» CodeIgniter
» jQuery
» JSF - Java Server Faces
» Qt
» Ruby On Rails
» Struts
» Struts 2
» wxWidgets
» Zend Framework
Container/Servidor
» Apache Tomcat
» Apache Web Server
Ferramentas
» Apache Ant
» iTextSharp (iText#)
Referências
» CSS1 e CSS2
» JavaScript
Serviços On-Line
» Qual é meu IP?
» Tabela Cores HTML I
» Tabela Cores HTML II
» Lista de Mime Types
» Códigos Teclas Virtuais
Usuários On-Line
Visitantes: 40
PHP
O que há de novo no PHP 5?
40 dicas e truques sobre como trabalhar com datas e horas em PHP
60 dicas e truques sobre como trabalhar com strings e caracteres em PHP
PHP e a Orientação a Objetos - POO (Curso Completo)

DHTML
Curso completo de DHTML para iniciantes

CSS
Como definir uma imagem de fundo fixa na página
Definindo uma imagem de fundo para botões HTML
Você está aqui: Inicio -> Tutoriais -> CodeIgniter
Introdução ao Controller e View do CodeIgniter
1 - Introdução

No artigo Instalando e Testando o CodeIgniter em um Servidor Apache rodando PHP 5 vimos os passos necessários para instalar e testar o CodeIgniter em uma área de hospedagem contendo PHP 5. Agora vamos dissecar a aplicação inicial do CodeIgniter com o objetivo de aprender um pouco sobre Controllers e Views. Lembrando que estas partes representam as camadas Controle e Visão da arquitetura MVC.

2 - Analisando o arquivo routes.php

O primeiro passo para entender o que acontece quando executamos o CodeIgniter pela primeira vez e aquela página de boas-vindas é exibida, é analisando o arquivo routes.php. Este arquivo está localizado em application/config. Abra-o e analise a linha:

$route['default_controller'] = "welcome";

Humm! Então já sabemos que se a aplicação for acessada sem especificar o documento a ser acessado, ou seja, apenas:

http://www.arquivodecodigos.net/estudos

o controller padrão com o nome de "welcome" será chamado. Vamos levar isso mais adiante, experimente acessar a aplicação usando:

http://www.arquivodecodigos.net/estudos/index.php/welcome

A URL ficou um pouco estranha. Mas, a aplicação continua funcional. Isso acontece porque agora estamos chamando a página inicial da aplicação e fornecendo o nome do controller a ser chamado. Mais adiante veremos como remover a parte index.php da URL.

3 - Em busca do controller welcome

Agora que já sabemos que o controller welcome é o controller padrão da aplicação, chegou a hora de analisá-lo. Controllers são colocados no diretório application/controllers. Procure um arquivo chamado welcome.php dentro deste diretório e abra-o. Teremos o seguinte conteúdo:

<?php

class Welcome extends Controller{
  function Welcome(){
    parent::Controller();
  }

  function index(){
    $this->load->view('welcome_message');
  }
}

?>


Veja que o controller Welcome herda da classe Controller e possui um método chamado index(). O método index() é o método que será chamado quando o controller é invocado sem nenhum parâmetro adicional. Assim, o controller Welcome pode ser chamado de duas formas:

http://www.arquivodecodigos.net/estudos/index.php/welcome

ou

http://www.arquivodecodigos.net/estudos/index.php/welcome/index

Vamos ver isso na prática? Adicione o seguinte método ao controller Welcome:

function exibir(){
  echo "Sou o método exibir";
}


Experimente agora acessar a aplicação usando a URL:

http://www.arquivodecodigos.net/estudos/index.php/welcome/exibir

Veja que o texto "Sou o método exibir" é escrito na página. Mas, voltemos nossa atenção para o método (alguns frameworks dão o nome de Actions aos métodos de um controller) index():

function index(){
  $this->load->view('welcome_message');
}


Aqui nós temos uma chamada ao método view() da classe Loader. Este método é usado para indicar a View (a parte visão da aplicação) que será carregada quando o método index() do controller for invocado. Assim, abra o diretório application/views e procure por um arquivo chamado welcome_message.php. Abra este arquivo e verá que seu conteúdo não apresenta nada novo. É HTML puro. E é exatamente o que é exibido quando executamos a nossa primeira aplicação usando o CodeIgniter. Vá em frente. Faça modificações neste arquivo e veja como as alterações são refletidas imediatamente.

É claro que a camada view existe para exibir dados provenientes do controller, ou seja, o controller age como uma ponte entre o model (camada modelo da aplicação) e a visão. Mas isso é assunto para outro artigo.

4 - Removendo a parte index.php da URL de uma aplicação CodeIgniter

Como prometido, vamos ver como remover a parte index.php da URL de nossa primeira aplicação. Crie um arquivo .htaccess com o seguinte conteúdo:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /estudos/index.php/$1 [L]


Transfira este arquivo para a raiz da aplicação, ou seja, para o diretório "estudos" e pronto. Agora a aplicação pode ser acessada usando:

http://www.arquivodecodigos.net/estudos/welcome

em vez de:

http://www.arquivodecodigos.net/estudos/index.php/welcome
 
 
Arquivo de Códigos - Página Inicial

       

http://www.arquivodecodigos.net
:: Arquivo de Códigos - Softwares e Consultoria em Programação ::
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.
Certifique-se de ler as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734

Desenvolvedor Responsável: Osmar J. Silva

Página Inicial Contatos Pesquisar Mapa do Site