Padrão MVC no Codeigniter
Neste artigo vamos falar sobre as views do CodeIgniter. O CodeIgniter é baseado no modo de desenvolvimento Model-View-Controller. A MVC é uma abordagem de software que realiza a separação da lógica da aplicação de sua apresentação. Na prática, permite que nossas páginas web contenham o mínimo de script, já que a apresentação é separada do PHP.
View: É a informação que será apresentada ao usuário. A view normalmente é uma página web, mas no CodeIgniter, uma view pode ser também um fragmento de página, como um cabeçalho ou rodapé. Ela pode ser também uma página RSS, ou qualquer outro tipo de página.
No CodeIgniter as views não são chamadas diretamente, elas necessitam ser chamadas por um controller. Devemos lembrar que em um framework MVC, o controller atua como um guarda de trânsito, sendo responsável por controlar o tráfego de dados e chamar a view, quando necessário. Para este artigo usaremos o seguinte CONTROLLER como base.
Relacionado: Curso de CodeIgniter
Controller Modelo
Não podemos esquecer que todos os controllers tem que ser salvos no diretório “application/controller” ou em subpastas. Vamos supor que nosso controller vai ter o seguinte nome: “inicial.php”.
Listagem 1: Controller Modelo
<?php
class Inicial extends CI_Controller {
function index()
{
echo "Nosso Controller modelo"
}
}
?>
Criando uma view
Vamos criar uma view chamada viewprincipal.php e colocar o seguinte conteúdo.
Listagem2: Criando View
<html>
<head>
<title>Primeira View</title>
</head>
<body>
<h1> Nossa primeira view </h1>
</body>
</html>
Todas as views devem ser salvas no diretório application/views ou em subpastas.
Carregando uma View
Para carregarmos uma view especifica, devemos utilizar a seguinte função
$this->load->view(‘nome-da-view’);
Nome-da-view: é o nome do nosso arquivo view, a extensão .php não precisa ser especificada a menos que desejemos utilizar outra coisa além dela.
Agora para vermos isso em funcionamento vamos abrir nosso controller inicial.php e carregar a view que acabamos de criar.
Listagem 3: Carregando view no Controller
<?php
class Inicial extends CI_Controller {
function index()
{
$this->load->view('viewprincipal');
}
}
?>
E agora acessando nosso site como acessamos normalmente, obteremos o seguinte resultado.
Carregando Múltiplas Views
Para carregarmos várias views, basta chamarmos uma por linha e o CodeIgniter faz a montagem em uma só exibição. Vejamos a sintaxe
Listagem 4: Múltiplas views sendo carregadas
<?php
class Inicial extends CI_Controller {
function index()
{
$this->load->view('viewcabecalho');
$this->load->view('viewcorpo');
$this->load->view('viewrodape');
}
}
?>
Nesse exemplo, estamos carregando três views: uma para o cabeçalho, uma para o corpo e uma para o rodapé.
Views em subdiretório
Nossas views podem também ser organizadas dentro de subdiretórios, se assim desejarmos. Para isso, será preciso incluir o nome de diretório no carregamento das views. Da seguinte maneira.
$this->load->view(‘nome-do-diretorio/nome-da-view’);
Adicionando dados dinâmicos em uma View
Os dados serão passados do controller para a view através de um array ou de um objeto no segundo parâmetro da função de carregamento da view. Vejamos como isso é feito.
Listagem 5: Utilizando Array
$data = array(
'title' => 'Sobre',
'content' => 'Texto da página sobre',
);
$this->load->view('nome-da-view', $data);
Listagem 6: Utilizando objeto
$Data = new ClasseQualquer();
$this->load->view(‘nome-da-view’, $Data);
Caso utilizemos esse modo, as variáveis da classe serão transformadas em elementos de um array.
Agora vamos fazer um exemplo disso para entendermos melhor o funcionamento.
Abra nosso controller e coloque as seguintes linhas, como mostrado a seguir.
Listagem 7: Inserindo dados dinâmicos na view
<?php
class Inicial extends CI_Controller {
function index()
{
$data['title'] = "Nosso titulo";
$data['heading'] = "Nosso cabeçalho.";
$this->load->view('viewprincipal', $data);
}
}
?>
Agora vamos abrir nosso arquivo view e alterar o texto para as variáveis que correspondem às chaves (Keys) do array, da seguinte maneira.
Listagem 8: Mudando dados na view
<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
<h1><?php echo $heading;?></h1>
</body>
</html>
Agora vamos carregar a página usando a URL costumeira e veremos que as variáveis serão substituídas pelos textos configurados dentro do arquivo controller.
Criando Loop
O array de dados que passamos aos nossos arquivos view não são limitados a simples variáveis. Podemos passar arrays multidimensionais, que podem se repetir em loop para gerar múltiplas linhas. Por exemplo, se puxarmos alguma informação de nosso banco de dados, ela geralmente virá na forma de um array multidimensional. Vamos criar um exemplo de loop.
Vamos abrir nosso controller e por o seguinte código nele, conforme abaixo.
Listagem 9: Criando loop
<?php
class Inicial extends CI_Controller {
function index()
{
$data['title'] = "Nosso titulo";
$data['heading'] = "Nosso cabeçalho.";
$data['artigos'] = array ('Front-End', 'PHP/SQL', 'FRAMEWORK');
$this->load->view('viewprincipal', $data);
}
}
?>
Agora vamos abrir o nosso arquivo view para criarmos nosso loop, coloque o seguinte código conforme mostrado abaixo.
Listagem 10: Configurando loop na view
<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
<h1><?php echo $heading;?></h1>
<h3> Lista de temas </h3>
<ul>
<?php foreach($artigos as $item): ?>
<li><?php echo $item ?></li>
<?php endforeach ?>
</ul>
</body>
</html>
Assim concluimos esse artigo, isso não é tudo o que se tem para sabermos sobre views, mas esse básico sobre view, juntamente com os outros conteúdos sobre CodeIgniter sugeridos a seguir, nos transfere uma noção bem agradável sobre o porte que o CodeIgniter possui. Espero que o tema tenha sido de agrado e entendimento de todos os leitores.
Abraços a todos e até ao próximo artigo.
Links Úteis
- Manual do PHP:
Site oficial do PHP - MYSQL:
Site Oficial do Mysql - PHP no Wikipedia:
Mais informações sobre o Wikipedia
Saiba mais sobre PHP ;)
- Introdução ao framework PHP CodeIgniter:
Veja neste artigo uma breve apresentação e introdução ao framework PHP CodeIgniter, que trabalha sobre o modelo MVC e nos fornece diversas ferramentas para agilizar o desenvolvimento das aplicações. - Trabalhando com controllers no CodeIgniter:
Veja neste artigo como funcionam os controllers no framework PHP CodeIgniter, como criar seus controllers e funções. - Utilizando templates no CodeIgniter:
Aprenda como criar e utilizar templates com o framework CodeIgniter e simplifique a construção e o reuso de páginas em suas aplicações.
Confira outros conteúdos:
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 59,00
Total: R$ 708,00
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 64,00 /mês
Total: R$ 768,00
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.