# Criando uma Hook

As hooks devem ser criadas dentro do diretório **/modulos/hooks**

Para criar uma hook, siga o processo abaixo:

## Criando o Arquivo de Hook

Crie um arquivo chamado testeHook.php dentro do diretório /modulos/hooks

```sh
touch ~/modulos/hooks/testeHook.php
```

## Função da Hook

Crie uma função para seu arquivo de hook. Utilize um nome relacionado à sua hook para se certificar de que não há um conflito de funções.

Todo seu código deve ser inserido dentro da função a ser criada pois a hook executará apenas a função criada.

Sua função deve ainda receber uma variável de parâmetro que você pode nomear como desejar. Essa variável receberá um array com os parâmetros do gatilho.

```php
function hook_nome_da_minha_funcao($parametros){

    global $banco, $config; //manipulador da base de dados a configurações do sistema
    
    print_r($parametros)

}
```

## Adicionando a Hook

Para que sua hook seja executada ela precisa ser adicionada ao controle do sistema, isso é feito utilizando a função adicionarHook(gatilho, sua\_hook, Prioridade);

Exemplo de como chamar a função ao final do seu arquivo

```php
adicionarHook('adicionarPagamento', 'hook_nome_da_minha_funcao', 3);
```

## Prioridade

O parametro prioridade é responsável por definir a ordem com que cada função/hook será executada dentro do mesmo gatilho. Funções com valor de prioridade mais alto são executadas primeiro, ou seja, quanto maior o numero, maior a prioridade. O parâmetro é de preenchimento facultativo, você pode informar 0 ou não informá-lo.

```php
adicionarHook('adicionarPagamento', 'hook_nome_da_minha_funcao');
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hostmgr.gitbook.io/desenvolvedores/modulos-de-integracao/webhooks/criando-uma-hook.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
