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.