[comment]: # aside: 3

[comment]: # ({f9b7e108-12a4ad08})
# Módulos

[comment]: # ({/f9b7e108-12a4ad08})

[comment]: # ({d4a488b3-f1b884d6})
### O que é um módulo frontend PHP?

-   Um módulo é uma entidade com um ID único, nome, descrição, autor e outros campos definidos em seu arquivo de manifesto, juntamente com arquivos PHP, Javascript e outros localizados em um único diretório dentro do diretório *modules* da sua instalação do frontend do Zabbix (por exemplo, *zabbix/ui/modules*).
-   Um módulo deve seguir regras simples para garantir o funcionamento correto.
-   Um módulo deve ser instalado (descompactado) e habilitado no frontend pelo administrador.

[comment]: # ({/d4a488b3-f1b884d6})

[comment]: # ({05b693b4-4e4bad2b})
### Para que um módulo pode ser usado

-   Adicionar novas funcionalidades por meio de seções personalizadas no frontend;
-   Criar tipos personalizados de widgets de dashboard (veja [módulos de widget](/devel/modules/widgets));
-   Sobrescrever ou estender a funcionalidade existente.

[comment]: # ({/05b693b4-4e4bad2b})

[comment]: # ({ec03fb13-064ddd80})
### O que um módulo não pode ser usado para

-   Registrar um novo método de API ou modificar um existente.

[comment]: # ({/ec03fb13-064ddd80})

[comment]: # ({bacf43f1-bfe0360a})
### Como os módulos funcionam

-   Um módulo habilitado é iniciado em cada solicitação HTTP, antes de executar o código da ação.
-   O módulo irá registrar novas ações ou redefinir as existentes.
-   O módulo irá adicionar novas seções ao frontend e remover ou redefinir as existentes.
-   O módulo irá se conectar a eventos do frontend como onBeforeAction e onTerminate, se necessário.
-   A ação solicitada é finalmente executada executando o código da ação - seja o padrão ou o definido pelo módulo.

[comment]: # ({/bacf43f1-bfe0360a})

[comment]: # ({501a7539-7aea12f6})
### Onde ir em seguida

Se você prefere aprender fazendo ou ler as diretrizes primeiro, estas páginas contêm as informações e etapas necessárias para criar seus próprios módulos:

- [Tutoriais passo a passo para escrever seu primeiro módulo](/devel/modules/tutorials)
- [Estrutura de arquivos do módulo](/devel/modules/file_structure)
- [Especificidades do módulo de widget](/devel/modules/widgets)
- [Exemplos de módulos para reutilizar](/devel/modules/examples)

[comment]: # ({/501a7539-7aea12f6})
