Plugins
Plugins trabalham de forma praticamente idêntica aos Assistentes. A principal diferença é que um plugin geralmente provê uma simples função, enquanto o assistente é geralmente uma coleção de funções. Assistentes são também considerados uma parte do núcleo do sistema; A idéia é que os plugins sejam criados e compartilhados por nossa comunidade..
Plugins deveriam ser salvos em seu diretório system/plugins mas você pode criar um diretório chamado plugins dentro do seu application e guardá-los lá. Code Igniter irá primeiro procurá-los em seu diretório system/application/plugins. Se o diretório não existir ou se o plugin não for localizado lá, o CI procurará então em seu diretório global system/plugins.
Carregando um Plugin
Carregar um plugin é bem simples. Utilize a seguinte função:
$this->load->plugin('name');
Onde name é 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, você deverá fazer isto:
$this->load->plugin('captcha');
Um plugin pode ser carregando de qualquer lugar dentro das funções de seu controller (ou até mesmo dentro de suas View files, mas esta não é boa prática), desde que você os carregando antes de usá-los. Você pode carregar seus plugins em seu controller construstor para que fiquem disponíveis automaticamente para qualquer função, ou você pode carregá-los dentro da função que precisa deles.
Note: A função de carregamento de Plugins acima não retorna um valor, então não tente atribuí-la à uma variável. Então só a use como mostrado.
Carregando Múltiplos Plugins
Se você precisa carregar mais de um plugin pode especificá-los numa array, como esta:
$this->load->plugin( array('plugin1', 'plugin2', 'plugin3') );
Carregando Plugins Automaticamente
Se você descobrir que precisa de um plugin 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 plugin ao array autoload.
Usando um Plugin
Carregado o arquivo Plugin, você deverá chamá-lo da mesma forma que chamaria uma função PHP.