Helpers e plugins no CodeIgniter

Figura 1: Helpers e plugins no CodeIgniter

Introdução aos plugins e helpers no Codeigniter

Neste artigo vamos falar sobre Helpers (Assistentes) e plug-ins no CodeIgniter. Começaremos falando sobre helpers. Os Helpers (assistentes) nos ajudarão em nossas tarefas. Cada assistente é simplesmente um conjunto de funções de uma categoria particular. Há os assistentes de URL, que nos ajudam a criar links, os assistentes de formulários que nos ajudam a criar os elementos de nossos 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, e os assistentes de arquivo que nos ajudam a trabalhar com arquivos, etc.

Diferentemente de outros sistemas no CodeIgniter, os assistentes não foram escritos em um formato orientado a objeto. Eles são simples, procedurais. Cada função assistente executa uma tarefa específica, sem qualquer dependência com outras funções.

O CodeIgniter não carrega os arquivos assistentes por default, por isso o primeiro passo quando formos utilizar um assistente, é carregá-lo. Uma vez carregado, ele fica disponível globalmente em nossos controllers e views.

Normalmente nossos assistentes serão armazenados em nosso diretório application/helpers.

Carregando um Helper no Codeigniter

Para estarmos carregando um assistente, é bem simples, basta utilizarmos a função: $this->load->helper(nome-do-assistente);

Onde nome-do-assistente é 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, deveremos fazer isto: $this->load->helper(“url”);

Um assistente pode ser carregado em qualquer lugar dentro de nossas funções do controller, ou até mesmo dentro de nossos arquivos views. Porém, carregarmos dentro das views não é uma boa prática, a menos que carreguemos antes de usarmos. Podemos carregar nossos assistentes em nossos controllers para que eles se tornem disponíveis automaticamente a qualquer função, ou podemos também apenas carrega-los diretamente na função que o queremos.

Observação: a função de carregamento de um assistente não retorna um valor, por isso não devemos tentar atribuí-la a uma variável. Então só usamos como foi mostrado.

Carregando vários Helpers no Codeigniter

Se tivermos a necessidade de carregarmos mais de um assistente, podemos fazer isso especificando-os num array, como o que veremos a seguir:

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

Carregando Helperers Automaticamente no Codeigniter

Se descobrimos que necessitamos de um assistente global em nossa aplicação, podemos dizer ao CodeIgniter para carregá-lo automaticamente durante a iniciação do sistema. Fazemos isso adicionando ao arquivo application/config/autoload.php o assistente no array autoload.

Utilizando um Helper

Carregado o arquivo assistente que contém a função que pretendemos utilizar, devemos chamá-lo da mesma forma que chamamos uma função PHP.

Por exemplo, para criar um link utilizando a função anchor() em uma de nossas views, podemos fazer o seguinte: <?php=achor(‘post/inicial’,’Clique Aqui’);?>.

Onde “Clique Aqui” é o texto do link e “post/inicial” é a URL para o controller/função que será linkado.

Plug-ins no Codeingiter

Os plug-ins trabalham de maneira quase idêntica aos assistentes, adiferença é que um plugin geralmente possui uma simples função, enquanto os assistentes são geralmente formados por uma coleção de funções. Os assistentes são também considerados uma parte do núcleo do sistema. A idéia é que os plug-ins sejam criados e compartilhados pela comunidade.

Os plug-ins devem ser salvos dentro do nosso diretório system/plug-ins, mas podemos criar um diretório chamado plugins dentro do nosso application e guardarmos lá. O CodeIgniter irá primeiro procurá-lo em nosso diretório application/plugins e caso o diretório não exista, ou se o plugin não for localizado lá, o CodeIgniter procurará então em seu diretório padrão system/plugins.

Carregando plugins no Codeigniter

Para carregarmos um plugin é simples, basta utilizarmos a seguinte função:

$this->load->plugin(‘nome-do-plugin’);

Onde nome-do-plugin é o nome do arquivo do plugin, sem a extensão .php ou “plugin”.

Por exemplo, para carregar o plugin Captcha, cujo nome é captcha_pi.php deveremos fazer o seguinte: $this->load->plugin(‘captcha’);

Um plugin pode ser carregado de qualquer lugar dentro das funções do nosso controller, ou até mesmo dentro da nossas views, porém esta não é uma boa prática.

O melhor é carregarmos dentro do nosso controller para que assim fiquem disponíveis automaticamente para qualquer função, ou podemos carregá-lo apenas dentro da função que precisarmos dele.

Observação: a função de carregamento de plugin não retorna um valor, então não devemos tentar atribuí-la a uma variável.

Carregando vários plugins no Codeigniter

Para carregarmos mais de um plugin, podemos especificá-los num array como o do seguinte exemplo: $this->load->plugin(array(plugin1’,’plugin2’,’plugin’));

Carregando Plugins Automaticamente no Codeigniter

Se precisarmos utilizar um plugin global em nossa aplicação, podemos informar ao CodeIgniter para carregá-lo automaticamente durante a inicialização do sistema. Isso é feito adicionando ao arquivo application/config/autoload.php o plugin no array autoload.

Usando um plugin

Após carregarmos o plugin que desejamos utilizar nossa aplicação, deveremos chamá-lo da mesma forma que chamaríamos uma função PHP.

Assim concluímos mais esse artigo, espero que o tema tenha sido de agrado de todos os leitores.

Abraços a todos e até ao próximo artigo.

Links Úteis

Saiba mais sobre PHP ;)

  • Introdução ao framework PHP CodeIgniter:
    Veja neste artigo uma breve apresentação e introdução ao framework PHP CodeIgniter, que trabalha sobre o modelo MVC e nos fornece diversas ferramentas para agilizar o desenvolvimento das aplicações.
  • Trabalhando com controllers no CodeIgniter:
    Veja neste artigo como funcionam os controllers no framework PHP CodeIgniter, como criar seus controllers e funções.
  • Utilizando templates no CodeIgniter:
    Aprenda como criar e utilizar templates com o framework CodeIgniter e simplifique a construção e o reuso de páginas em suas aplicações.