Code Igniter Versão 1.5.2 - Guia do Usuário


Funções Assisntes (Helpers)

Assistentes, como o nome sugere, lhe ajudam em suas tarefas. Cada arquivo assistente é simplesmente uma comjunto de funções de uma categoria particular. Há os Assistentes de URL, que lhe ajudam a criar links, os Assisntes de Formulário que lhe ajudam a criar os elementos de seu form, os Assistentes de Texto que geram várias rotinas de formatação de texto, os Assistentes de Cookie que criam e lêem cookies, os Assistentes de Arquivo que lhe ajudam a trabalhar com arquivos etc.

Ao contrário de outros sistemas no Code Igniter, os Assistentes não foram escritos num formato Orientado a Objetos. Eles são simples, procedurais funções. Cada função assistente executa uma específica tarefa, sem qualquer dependência com outras funções.

O Code Igniter não carrega os arquivos assistentes por default, por isto o primeiro passo quando for utilizar um Assistente é carregá-lo. Uma vez carregado, ele se fica disponível globalmente em seu controller e views.

Assistentes são tipicamente armazenados em seu diretório system/helpers. Como alternativa, você pode criar um diretório chamado helpers dentro do seu diretório application e armazená-los lá. O Code Igniter irá procurar primeiro em seu diretório system/application/helpers. Caso ele não exista, ou o assistente referenciado não estiver lá, CI irá procurar em seu diretório global system/helpers.

Carregando um Assistente

Carregar um arquivo assistente é bem simples utilizando-se a função:

$this->load->helper('name');

Onde name é o nome do arquivo do assistente, sem a extensão .php ou a parte "helper" aparecendo.

Por exemplo, para carregar o Assistente de URL, que é chamado url_helper.php, você deveria fazer isto:

$this->load->helper('url');

Um assistente pode ser carregado em qualquer lugar dentro de suas funções do controller (ou até dentro de seus arquivos View, embora esta não seja uma boa prática), desde que você o carregue antes de usar. Você pode carregar seus assistentes em seu construtor controller para que eles se tornem disponíveis automaticamente a qualquer função, ou você pode apenas carregá-los diretamente na função que o requer.

Note: A função de carregamento de um Assistente não retorna um valor, por isso não tente atribuí-la a uma variável. Então só a use como mostrado.

Carregando Múltipos Assistentes

Se você precisa carregar mais de um assistente pode especificá-los numa array, como esta:

$this->load->helper( array('assistente1', 'assistente2', 'assistente3') );

Carregando Assistentes Automaticamente

Se você descobrir que precisa de um assistente global em sua aplicação, pode dizer ao Code Igniter para carregá-lo automaticamente durante a inicialização do sistema. Isto é feito adicionando-se ao arquivo application/config/autoload.php, o assistente ao array autoload.

Usando um Assistente

Carregado o arquivo assistente que contém a função que você pretende usar, você deverá chamá-lo da mesma forma que chamaria uma função PHP.

Por exemplo, para criar um link utilizando a função anchor() em uma de suas views, faça o seguinte:

<?=anchor('blog/comments', 'Clique Aqui');?>

Onde "Clique aqui" é o texto do link e "blog/comments" é o URI para o controller/função que que será linkado.

E agora?

Na listagem de Conteúdos você irá encontrar uma lista de todos os Assistentes disponíveis. Navegue por todos para descubrir o que eles fazem.