Controladores CodeIgniter, roteamento de visualizações: aprenda com o aplicativo de exemplo

Neste tutorial, você aprenderá o seguintewing tópicos.

  • Roteamento – o roteamento é responsável por responder às solicitações de URL. O roteamento corresponde a URL às rotas predefinidas. Se nenhuma correspondência de rota for encontrada, o CodeIgniter lança uma exceção para uma página não encontrada.
  • controladores – as rotas estão vinculadas aos controladores. Os controladores unem os modelos e as visualizações. A solicitação de dados/lógica de negócios do modelo e retorna os resultados na apresentação da visão. Depois que uma URL corresponde a uma rota, ela é encaminhada para uma função pública do controlador. Esta função interage com a fonte de dados, lógica de negócios e retorna a visualização que exibe os resultados.
  • Visualizações – as visualizações são responsáveis ​​pela apresentação. Uma visualização geralmente é uma combinação de HTML, CSS e JavaScript. Esta é a parte responsável por exibir a página web ao usuário. Normalmente, os dados exibidos geralmente são recuperados do banco de dados ou de qualquer outra fonte de dados disponível.

Como criar um novo projeto CodeIgniter

Usaremos o Composer para criar um novo projeto. Usarei o servidor PHP integrado, portanto não é necessário ter software extra como apache. Neste tutorial, estamos usando o Windows sistema operacional. Portanto, criamos uma pasta Sites na unidade C. Você pode usar qualquer diretório que seja adequado para você.

Abra a linha de comando/terminal e execute o seguintewing comando

cd C:\Sites

Agora criaremos um projeto CodeIgniter usando o Composer. Execute o seguintewing comando

composer create-project CodeIgniter/framework ci-app

AQUI,

  • O comando acima cria um novo projeto CodeIgniter versão 3 usando a versão estável mais recente, ou seja, 3.1.9 em um diretório ci-app.

Quando a execução do comando acima for concluída, você deverá conseguir resultados semelhantes aos seguinteswing no terminal

Crie um novo projeto CodeIgniter

Execute o seguintewing comando para navegar até o diretório do projeto recém-criado ci-app

cd ci-app

Vamos agora iniciar o servidor web integrado do PHP

 php -S localhost:3000

AQUI,

  • O comando acima inicia o servidor PHP integrado rodando na porta 3000.

Abra o navegador da web e navegue no seguintewing URL: http://localhost:3000/

Você receberá o seguintewing página

Crie um novo projeto CodeIgniter

Se você pode ver a página acima, parabéns, você instalou com sucesso CodeIgniter.

Como você pode ler na página da web acima, a página exibida acima é renderizada pela visualização localizada em application/views/welcome_message.php e o controlador responsável está localizado em application/controllers/Welcome.php

Roteamento CodeIgniter

Por enquanto, nosso aplicativo possui apenas uma URL que é a página inicial. Nesta seção, personalizaremos a seção inicial. Criaremos alguns novos URLs que responderão às diferentes solicitações.

Vamos começar com a rota da página inicial

Abra o arquivo de rotas conforme indicado pelo caminho abaixo

application/config/routes.php

Você deve ser capaz de ver o seguintewing conteúdo

$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

AQUI,

  • $route['default_controller'] = 'bem-vindo'; define o controlador padrão que responde às solicitações de URI
  • $rota['404_override'] = ”; esta rota permite definir uma rota personalizada para erros 404. Um erro 404 ocorre quando uma página não é encontrada. CodeIgniter possui um manipulador padrão para o erro, mas você pode definir o seu próprio, se desejar.
  • $route['translate_uri_dashes'] = FALSO; esta opção permite traduzir travessões em sublinhados. Falaremos sobre esta opção quando observarmos como as rotas funcionam no CodeIgniter.

Vejamos agora o método controller responsável por exibir a página inicial que vimos quando abrimos a URL http://localhost:3000/ no navegador da web.

Abra o seguintewing lima

application/controllers/Welcome.php

Você deve ser capaz de ver o seguintewing código

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

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

AQUI,

  • Definido ('BASEPATH') OR exit('Não é permitido acesso direto ao script'); protege contra acesso direto à classe do controlador sem passar pelo arquivo index.php. Lembre-se, no paradigma MVC todas as solicitações possuem um único ponto de entrada, e para o CodeIgniter, seu index.php. Este código bloqueia todas as solicitações que não passam por index.php
  • class Welcome estende CI_Controller {…} define uma classe Welcome que estende a classe pai CI_Controller
  • função pública index() define uma função pública que é chamada por padrão quando você abre a página inicial
  • $this->carregar->view('welcome_message'); esta linha carrega a visualização Welcome_Message. O arquivo welcome_message está localizado no diretório application/views/welcome_message.php

Até agora, exploramos apenas o que sai do box com o CodeIgniter, vamos agora tentar fazer algumas alterações. Criaremos nossa página inicial e substituiremos a página padrão

Crie um novo arquivo em application/views/home.php

Adicione o seguintewing código para home.php

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Hello CodeIgniter!</title>
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css">
        <script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script>
    </head>
    <body>
        <section class="section">
            <div class="container">
                <h1 class="title">
                    CodeIgniter Hello World
                </h1>
            </div>
        </section>
    </body>
</html>

AQUI,

O código HTML acima carrega a estrutura SSS da Birmânia e a fonte da rede CDN, criando um documento HTML muito básico. Aplica regras CSS muito simples da estrutura CSS da Birmânia.

Abra o seguintewing URL no seu navegador: http://localhost:3000/

Você deve ser capaz de ver o seguintewing

Roteamento CodeIgniter

Ótimo, acabamos de modificar com sucesso a página inicial. Seguindo em frente, vamos definir nossa rota. Vamos supor que nosso aplicativo também precise mostrar a página sobre nós.

Crie uma rota

Abra o arquivo de rotas application/config.routes.php

Adicione o seguintewing estrada

$route['about-us'] = 'welcome/about_us';

AQUI,

  • Quando um visitante visita a URL /about-us, estamos instruindo o CodeIgniter a procurar um controlador Welcome e executar o método about_us.

Crie um controlador

Vamos agora definir o método do controlador sobre nós

Abra aplicativo/controladores/Welcome.php

Adicione o seguintewing método

public function about_us(){
            $this->load->view('about_us');
        }

AQUI,

  • O código acima define uma função about_us e carrega uma visualização about_us.

Crie uma visualização

Vamos agora criar a visualização que acabamos de referenciar na seção acima

Crie um novo arquivo about_us.php em application/views/about_us.php

Adicione o seguintewing código

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>About CodeIgniter!</title>
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css">
        <script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script>
    </head>
    <body>
        <section class="section">
            <div class="container">
                <h1 class="title">
                    About us yap...                
                </h1>
            </div>
        </section>
    </body>
</html>

Estamos prontos para ir, abra o seguintewing URL no seu navegador: http://localhost:3000/index.php/about-us

Você verá o seguintewing página

Crie uma View no CodeIgniter

Se você conseguiu ver a página acima, parabéns, você criou com sucesso um aplicativo simples no CodeIgniter.

Resumo

Neste tutorial, cobrimos três (3) componentes principais que compõem uma aplicação CodeIgniter. Vimos rotas e como defini-las, controladores e como criar métodos que respondem a solicitações de rota e criamos visualizações simples que são retornadas aos usuários quando eles solicitam um recurso.