Dev (Back & Front)ARTIGO

Sobrescrevendo métodos do CodeIgniter sem perder suas funcionalidades originais

Leia os artigos anteriores:

Operações de banco de dados com o CodeIgniter

Framework CodeIgniter: motivos e modo de usar

*

Vamos continuar a seqüência de artigos sobre o fremework CodeIgniter. No último artigo falei sobre o uso de banco de dadosBanco de dados134 conteúdosSQL ou NoSQL: eis a questão!!Data · mar 2020Banco de dados: como organizar e dar segurança para milhões de dados de loteriasData · mai 20215 serviços gratuitos na cloud para bancos de dados PostgresData · fev 2025Ver tudo em Data com o CI; hoje veremos como podemos estender uma classe padrão do CI para adicionar métodos mais específicos para um determinado projeto, ou mesmo para vários projetos.

O CodeIgniter possui uma característica interessante e muito simples de ser utilizada. Vamos supor que queremos adicionar algo a uma função do core do CI, mas não queremos perder a função em si, já que ela possui diversas coisas embutidas na própria classe. Acrescentando a isso, supomos também que essa funcionalidade nova será útil em todo o projeto. Para isso, o CI possui uma forma rápida e prática de se aproveitar da herança (orientação a objetos) para que, com poucos passos, seja criada uma classe intermediária, que servirá como substituta da classe original, mas sem perder todas as outras coisas já implementadas na classe original, e ainda sem que seja necessária a alteração de todas as referências que já estão chamando a classe original, ou seja, essa alteração não irá afetar em nada o restante do site em produção.

Para o nosso exemplo, vamos adicionar um problema simples: queremos que para cada arquivo da camada view que for chamada, seja possível ser identificado que arquivo está sendo parseado, através do código-fonte. Essa prática é utilizada em muitos lugares para que seja fácil a identificação de qual arquivo precisa ser alterado em determinado módulo do site.

Na prática, vamos adicionar um comentário em formato htmlHTML45 conteúdosA importância do HTML e CSS para quem trabalha com UI Design e Design SystemProduto & UX · dez 2024Como hostear seu site HTML gratuitamente com GitHub PagesDev (Back & Front) · jun 2025SQL Server – Como criar um versionamento de código das suas Stored Procedures em HTML e com comentários da alteraçãoData · nov 2020Ver tudo em Dev (Back & Front) dessa maneira (supondo que o arquivo sendo visualizado no momento seja o admin/usuario/add.php):

Dessa maneira é mais simples a manutenção da camada view do site.

Nos artigos anteriores já foi mostrado um pouco de como funciona comando view(), hoje vamos continuar usando essa chamada ao método view, mas vamos criar uma camada intermediária com a nossa versão nessa camada.

O método view está localizado na classe pré-carregada: Loader, e ele possui a seguinte assinatura:

view( String, Array/Object, Boolean )

Os dois primeiros parâmetros já foram utilizados nos artigos anteriores, servem como o caminho do arquivo php que será a visualizado e um array ou object (que internamente se transforma em array) com os dados que estarão visíveis dentro da view. Esse terceiro parâmetro é um valor do tipo boolean que indica se deseja que o template não seja exibido no browser, mas sim seja retornado seu valor como uma string para alguma variável de retorno qualquer, o padrão é false, ou seja, o padrão joga o conteúdo no browser.

É desenvolvedor web há mais de 8 anos, foi representante da Fatec Zona Sul na maratona brasileira de programação por dois anos consecutivos. Atualmente estuda Matemática Aplicada no IME-USP Focado em algoritmos, estrutura de dados e desenvolvimento web em geral. Possui certificações em Java: SCJP (OCJP) e SCJA (OCJA) e em HTML5/Javascript/CSS MCSD 70-480. Atualmente é Analista de Sistemas em grandes projetosno portal UOL.

Ver perfil