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.
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:
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:
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:
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 asnotas legaisantes de proceder com
o acesso e leitura do
conteúdo disponibilizado nestas páginas.