Skip to content
World Wide Web Server edited this page Jul 4, 2012 · 10 revisions

[h2]iHook - Internal Hook System[/h2]

[b]Lang: PT_BR[/b] [h2]Descrição[/h2] o iHook permite que ao desenvolver uma aplicação, você insira pontos onde o código pode ser alterado por uma função externa. Isso permite que você mude o comportamento da aplicação, sem precisar alterar o código original.

Este padrão permite tanto manipular variáveis dentro do código como também servir como um "gatilho" para executar códigos externos.

Seu funcionamento foi baseado no Wordpress, que oferece ACTIONS e FILTERS para que o desenvolvedor possa criar plugins sem precisar alterar os arquivos originais do próprio Wordpress.

No iHook porém, unimos as duas características (ACTIONS e FILTERS) em uma única e simples função que pode tanto alterar variáveis como também simplesmente executar um código.

[h2]Quando usar o iHook?[/h2] Use o iHook ao desenvolver novas aplicações para seu sistema. Por exemplo: Ao criar um controller, você pode criar um iHook no início da chamada do controller sem nenhuma pretensão inicial. Se sua aplicação for usada para diversos tipos de clientes e algum cliente precisar de uma personalização, você não precisará alterar o código original (o que permite manutenção e evolução contínua). Basta então criar uma LIBRARY que irá executar determinado código no início do controller.

O ponto em que seu iHook será acionada é determinado por você no momento em que você cria seus controllers, libraries, helpers, models, etc.

[h2]Como usar o iHook?[/h2] Por ser uma Library, o iHook deve ser carregado sempre que desejar usá-lo, chamando: [code]$this->load->library('Ihook');[/code]

Para criar um ponto de iHook, use: [code]$this->ihook->create('welcome');[/code] Neste caso, nosso ihook chama-se welcome.

Sempre que desejarmos executar uma ação neste ponto, basta usarmos: [code]$this->ihook->execute('welcome', 'meuprimeiroihook', 'testando');[/code]

O iHook irá carregar automaticamente a função TESTANDO da Library MEUPRIMEIROHOOK que você terá criado dentro da pasta libraries.

[h2]Alterando variáveis[/h2] Além de executar uma ação, você também pode usar o iHook para alterar variáveis internas de seu código. Para isto, ao criar um iHook informando um parâmetro de entrada: [code]$titulo = "Titulo Antes do iHook"; $titulo = $this->ihook->create('welcome', $titulo);[/code] Neste exemplo, a variável $titulo será enviada ao seu ihook, que poderá alterá-la e então devolver a variável alterada ao código original para continuar a execução.

Clone this wiki locally