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


Criando Classes do Núcleo do Sistema

Toda vez que o Code Igniter roda, há várias classes básicas que são inicializadas automaticamente como parte do número do framework. É possível, porém, trocar qualquer uma destas classes básicas como suas próprias versões ou mesmo estender as versões de núcleo.

A maioria dos usuários não irá precisar de nada disto, mas a opção de substituir ou estender classes existem para aqueles que podem querer alterar significativamente o número do Code Igniter.

Note:  Mexer com uma classe de núcleo do sistema tem muitas implicações, por isso tenha certeza que você saiba o que está fazendo antes de tentá-lo.

Lista de Classes do Sistema

Abaixo vai a lista dos aruqivos do núcleo do sistema que são chamados toda vez que o Code Igniter roda:

Substituindo Classes de Núcleo

Para usar suas próprias classes de sistema no lugar das padrões, simplesmente coloque suas versão dentro de seu diretório local application/libraries:

application/libraries/algumaclasse.php

Se este diretório não existir, você pode criá-lo.

Qualquer arquivo com o mesmo nome de um item da lista acima será escolhido no lugar daquele que normalmente seria usado.

Por favor, note que sua classe precisa usar o prefixo CI. Por exemplo, se seu arquivo chama-se Input.php, o nome da classe será:

class CI_Input {

}

Estendendo uma Classe de Núcleo

Se tudo o que precisa é adicionar uma certa funcionalidade à uma biblioteca existente - talvez uma ou duas funções - então é desnecessário substituir a biblioteca inteira com sua versão. Neste caso, é melhor simplismente estender a classe. Estender uma classe é praticamente igual a substituí-la, com algumas exceções:

Por exemplo, para estender a classe Input nativa, você precisa criar um arquivo chamado application/libraries/MY_Input.php, e declarar sua classe com:

class MY_Input extends CI_Input {

}

Note: Se você precdisar usar um construtor em sua classe, tenha certeza de estender o construtor pai:

class MY_Input extends CI_Input {

    function My_Input()
    {
        parent::CI_Input();
    }
}

Dica:  Quaisquer funções em sua classe que tiverem o mesmo nome das funções na classe pai serão usadas no lugar as nativas (isto é conhecido como "método do sobrecarregamento"). Isto permite que você altere substancialmente o núcleo do Code Igniter.

Configurando seu próprio Prefixo

Para configurar seu próprio prefixo de subclasse, abra seu arquivo application/config/config.php e procure por este item:

$config['subclass_prefix'] = 'MY_';

Por favor, note que todas as bibliotecas nativas do Code Igniter têm o prefixo CI_ então NÂO USE isto como seu prefixo.