[comment]: # aside: 2

[comment]: # translation:outdated

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

# Модули

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

[comment]: # ({d4a488b3-f1b884d6})
### Что такое модуль PHP веб-интерфейса?

- Модуль - это объект с уникальным идентификатором, именем, описанием, автором и другими полями, определенными в его файле манифеста, а также PHP, Javascript и другими файлами, расположенными в одном каталоге внутри подкаталога *modules* каталога установки веб-интерфейса Zabbix (например, *zabbix/ui/modules*).
- Модуль должен соответствовать простым правилам, чтобы гарантировать правильную работу.
- Модуль должен быть установлен (распакован) и включен в веб-интерфейсе администратором.

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

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

### Для чего можно использовать модуль

- Добавление нового функционала через пользовательские разделы веб-интерфейса;
- Создание пользовательских типов виджетов панели (см. [модули виджетов](/devel/modules/widgets));
- Переопределение или расширение существующего функционала.

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

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

### Для чего нельзя использовать модуль

- Регистрация нового метода API или изменение существующего.

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

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

### Как работают модули

- Включенный модуль запускается при каждом HTTP-запросе перед выполнением кода действия.
- Модуль зарегистрирует новые действия или переопределит существующие.
- Модуль добавит новые разделы интерфейса и удалит или переопределит существующие.
- При необходимости модуль будет подключаться к событиям внешнего интерфейса, таким как onBeforeAction и onTerminate.
- Запрошенное действие выполняется путем запуска кода действия - либо кода по умолчанию, либо определенного в модуле.

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

[comment]: # ({501a7539-7aea12f6})
### Куда идти дальше

Независимо от того, предпочитаете ли вы учиться на практике или сначала прочитать рекомендации, эти страницы содержат информацию и шаги, необходимые для создания собственных модулей:

- [Пошаговые руководства по написанию вашего первого модуля](/devel/modules/tutorials)
- [Файловая структура модуля](/devel/modules/file_structure)
- [Особенности модуля виджетов](/devel/modules/widgets)
- [Примеры модулей для повторного использования](/devel/modules/examples)

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