-
Notifications
You must be signed in to change notification settings - Fork 0
iHook
[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.
- Original author: Derek Jones
- How to extend helpers: See User Guide
- Modified by: Thomas Stapleton (id, classes, selected country option and all option)
- Modified by: Bradley De-Lar (construct, setLayout example)