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

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

[comment]: # ({d4a488b3-f1b884d6})
### O que é um módulo de 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*
-  Um módulo deve seguir regras simples para garantir operação correta.
-  Um módulo deve ser instalado (descompactado) e ativado no frontend pelo administrador.

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

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

- Adicionando novas funcionalidades por meio de seções frontend personalizadas;
- Criação de tipos de widget de painel personalizados (consulte [widget modules](/devel/modules/widgets));
- Substituindo ou estendendo a funcionalidade existente.

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

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

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

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

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

### Como funcionam os módulos

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

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

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

Quer você prefira aprender fazendo ou lendo primeiro as diretrizes, estas páginas contêm as informações e as etapas necessárias para construir seus próprios módulos:

- [Tutoriais passo a passo para escrever seu primeiro módulo](/devel/modules/tutorials)
- [Estrutura do arquivo do módulo](/devel/modules/file_structure)
- [Especificações do módulo Widget](/devel/modules/widgets)
- [Exemplos de módulos para reutilizar](/devel/modules/examples)

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