Skip to content
Derek Jones edited this page Jul 4, 2012 · 10 revisions

iHook - Internal Hook System

[b]Lang: EN[/b]

Description

iHook allows to create points into your code that can be called by an external function. This allows you to change the behavior of the application, without having to change the original code.

[b]Lang: PT_BR[/b]

Descrição

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.

Quando usar o iHook?

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.

Como usar o iHook?

Por ser uma Library, o iHook deve ser carregado sempre que desejar usá-lo, chamando:

$this->load->library('Ihook');

Para criar um ponto de iHook, use:

$this->ihook->create('welcome');

Neste caso, nosso ihook chama-se welcome.

Sempre que desejarmos executar uma ação neste ponto, basta usarmos:

$this->ihook->execute('welcome', 'meuprimeiroihook', 'testando');

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

Alterando variáveis

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:

$titulo = "Titulo Antes do iHook";
$titulo = $this->ihook->create('welcome', $titulo);

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.

Download

File:ihook-0.2.zip

External Link

Estamos usando o iHook em no [url http://php.valeouro.com.br]PHP Produtivo[/url]

Clone this wiki locally