Você está aqui: CodeIgniter ::: Classes, Controles e Componentes ::: Controller

Como usar a função _remap() para remapear os métodos invocados em um controller

Quantidade de visualizações: 7290 vezes


Por padrão, se um método não estiver especificado na URL de uma aplicação CodeIgniter, o método index() do controller é automaticamente chamado. Podemos usar a função _remap() para controlar este comportamento. Veja o trecho de código a seguir:
class Cadastro extends Controller{
  function Cadastro(){
    parent::Controller();	
  }
	
  function index(){
    $this->load->view('view_cadastro');
  }
	
  function gravar(){
    echo "Sou a função gravar";
  }
}
Se acessarmos este controller sem especificar o método na URL, a função index() será chamada e a visão view_cadastro será carregada. Porém, se quisermos que a função gravar() seja chamada em vez de index(), podemos usar a função _remap(). Veja:
function _remap(){
  // chama a função gravar()
  $this->gravar();
}
Adicione este método ao controller e veja que, independente de qual método for passado pela URL, a função gravar() sempre será chamada. É claro que podemos novamente controlar este comportamento, passando o nome da função que deverá ser mapeada para outra. Veja:
<?php
class Cadastro extends Controller {
  function Cadastro(){
    parent::Controller();	
  }
	
  function _remap($method){
    // chama a função gravar() somente se o método
    // for "excluir"
    if($method == "excluir")
      $this->gravar();
    else
      $this->index();
  }
	
  function index(){
    $this->load->view('view_cadastro');
  }
	
  function gravar(){
    echo "Sou a função gravar";
  }
	
  function excluir(){
    echo "Sou a função excluir";
  }
}
?>


Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de CodeIgniter

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 49 usuários muito felizes estudando em nosso site.