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

Índice:

Anonim

Neste tutorial, você aprenderá os tópicos a seguir.

  • Roteamento - o roteamento é responsável por responder às solicitações de URL. O roteamento combina o URL com as rotas predefinidas. Se nenhuma correspondência de rota for encontrada, o CodeIgniter lançará uma página não encontrada uma exceção.
  • Controladores - as rotas são vinculadas a controladores. Os controladores colam os modelos e as vistas. A solicitação de dados / lógica de negócios do modelo e retorna os resultados na apresentação da visualização. Depois que uma URL é correspondida a uma rota, ela é encaminhada para a função pública de um controlador. Esta função interage com a fonte de dados, lógica de negócios e retorna a visão que mostra 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 da 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.

Neste tutorial, você aprenderá-

  • Como criar um novo projeto CodeIgniter
  • Roteamento CodeIgniter
  • Crie uma rota
  • Crie um controlador
  • Criar uma vista

Como criar um novo projeto CodeIgniter

Usaremos o Composer para criar um novo projeto. Usarei o servidor embutido em PHP, portanto, não é necessário ter um software extra como o Apache. Neste tutorial, estamos usando o sistema operacional Windows. 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 seguinte comando

cd C:\Sites

Vamos agora criar um projeto CodeIgniter usando Composer. Execute o seguinte 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á obter resultados semelhantes aos seguintes no terminal

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

cd ci-app

Vamos agora iniciar o servidor da web embutido em PHP

 php -S localhost:3000 

AQUI,

  • O comando acima inicia o servidor PHP embutido em execução na porta 3000.

Abra o navegador da web e navegue no seguinte URL

http: // localhost: 3000 /

Você obterá a seguinte página

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

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 um único URL que é a página inicial. Nesta seção, iremos personalizar 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 seguinte 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
  • $ route ['404_override'] = ''; esta rota permite que você defina uma rota personalizada para erros 404. Um erro 404 ocorre quando uma página não é encontrada. O CodeIgniter possui um manipulador padrão para o erro, mas você pode definir o seu próprio, se desejar.
  • $ route ['translate_uri_dashes'] = FALSE; esta opção permite traduzir travessões em sublinhados. Falaremos sobre essa opção quando observarmos como as rotas funcionam no CodeIgniter.

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

Abra o seguinte arquivo

application/controllers/Welcome.php

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

load->view('welcome_message');}}

AQUI,

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

Até agora, exploramos apenas o que sai da caixa com o CodeIgniter, vamos agora tentar fazer algumas alterações. Vamos criar nossa página inicial e substituir a página padrão

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

Adicione o seguinte código a home.php

Hello CodeIgniter!

CodeIgniter Hello World

AQUI,

O código HTML acima carrega a estrutura SSS da Birmânia e a fonte da rede CDN cria um documento HTML muito básico. Ele aplica a regra CSS muito simples da estrutura CSS de Burma.

Abra o seguinte URL no seu navegador

http: // localhost: 3000 /

Você deve ser capaz de ver o seguinte

Ótimo, acabamos de modificar a página inicial com sucesso. Continuando, 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 a seguinte rota

$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 application / controllers / Welcome.php

Adicione o seguinte 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 visão about_us.

Criar uma vista

Vamos agora criar a visão que acabamos de mencionar na seção acima

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

Adicione o seguinte código

About CodeIgniter!

About us yap…

Estamos prontos, abra o seguinte URL em seu navegador

http: // localhost: 3000 / index.php / about-us

Você verá a seguinte página

Se você puder 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 constituem um aplicativo CodeIgniter. Vimos as rotas e como defini-las, controladores e como criar métodos que respondam às solicitações de rota e criamos visualizações simples que são retornadas aos usuários quando eles solicitam um recurso.