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


Classe Config

A classe Config provê meios de recuperar suas preferências de configuração. Estas preferências podem vir do arquivo de configuração padrão (application/config/config.php) ou de seus próprios arquivos de configuração.

Nota: Esta class é inicializada automaticamente pelo sistema e não é necessário carregá-la manualmente.

Anatomia de um Arquivo de Configuração

Por padrão, o Code Igniter tem um arquivo de configuração primário, localizado em application/config/config.php. Se você abrir este arquivo usando seu editor de texto, você verá que os itens de configuração são armazenados em um array chamado $config.

Você pode adicionar seus próprios itens de configuração a este arquivo, ou, se preferir manter suas configurações separadas, simplesmente crie seu próprio arquivo e salve o mesmo no diretório config.

Nota: Se você criar seus próprios arquivos de configuração, use o mesmo formato do primário, armazenando seus itens em um array chamado $config. O Code Igniter irá gerenciar estes arquivos de forma inteligente para que não hajam conflitos até mesmo se o array possuir o mesmo nome (desde que um indice deste array não tenha o mesmo nome que outro).

Carregando um Arquivo de Configuração

Nota: O Code Igniter carrega automaticamente o arquivo primário (application/config/config.php), então você só precisa carregar seus próprios arquivos de configuração.

Existem duas maneiras de se carregar um arquivo de configuração:

  1. Carregamento Manual

    Para carregar um de seus próprios arquivos de configuração você usará a seguinte função em seus controllers:

    $this->config->load('nomedoarquivo');

    Onde nomedoarquivo é o nome do seu arquivo de configuração, sem a extensão .php.

    Se você precisa carregar vários arquivos de configuração, eles serão agregados em um único array de configuração. Colisão de nomes podem ocorrer, porém, se você tiver nomeado índices do array identicos em diferentes arquivos. Para evitar colisões, você pode passar o segundo parametro como TRUE e cada arquivo de configuração será armazenado em um índice de array correspondente ao nome do arquivo de configuração. Veja o exemplo: // Armazenado em um array com esta estrutura: $this->config['blog_settings'] = $config
    $this->config->load('blog_settings', TRUE);

    Veja a seção chamada Recuperando Itens de Configuração abaixo para aprender como recuperar itens de configuração desta forma.

    O terceiro parametro permite que você suprima erros caso o arquivo de configuração não exista:

    $this->config->load('blog_settings', FALSE, TRUE);
  2. Carregamento Automático (Auto-loading)
  3. Se você precisar de uma configuração global em particular, você pode configurar o sistema para carregá-la automaticamente. Para isso, abra o arquivo autoload.php, localizado em application/config/autoload.php, e adicione seu arquivo de configuracao como indicado no arquivo.

Recuperando Itens de Configuração

Para recuperar um item do seu arquivo de configuração, utilize o seguinte método:

$this->config->item('nome do item');

Onde nome do item é o índice do array $config que você deseja recuperar. Por exemplo, para recupera a linguagem escolhida, você usaria::

$lang = $this->config->item('language');

O método retorna FALSE (booleano) se o item que você passou não existir.

Se você está usando o segundo parametro do método $this->config->load() para definir seus itens de configuração em um índice específico, você pode recuperar esta informação especificando o nome do índice como segundo parametro do método $this->config->item(). Por exemplo: // Carrega o arquivo de configuracao chamado blog_settings.php e define para o índice chamado "blog_settings"
$this->config->load('blog_settings', 'TRUE');

// Recupera o item de configuração chamado site_name do array blog_settings
$site_name = $this->config->item('site_name', 'blog_settings');

// Modo alternativo de especificar o mesmo item:
$blog_config = $this->config->item('blog_settings');
$site_name = $blog_config['site_name'];

Definindo um Item de Configuração

Se você quiser definir um item de configuração dinamicamente, ou alterar um já existente, pode usar:

$this->config->set_item('nome_item', 'valor_item');

Onde name_item é o índice do array $config que você quer alterar, e value_item é o seu valor.

Funções Assistentes (Helper)

A classe Config tem os seguintes métodos assistentes::

$this->config->site_url();

Esta função recupera a URL para o seu site, com o valor que você tiver especificado no arquivo de configuração.

$this->config->system_url();

Esta função retorna a URL para o seu diretório de sistema (system folder).