====== Команды. Интерфейс lmbCommand ====== ===== Краткое описание ===== Команды являются частью контроллера, осуществляют какие-либо действия (Action) и реализуют предметную логику приложения. Команды реализуют простейший интерфейс **lmbCommand**: interface lmbCommand { function perform(); } Описание того, какая команда будет запущена для выполнения того или иного действия находится в сервисах (lmbService). Команда, предназначенная для выполнения действия, запускается обычно в фильтре [[lmbCommandProcessingFilter]]. Команды хранятся в папках /src/command пакетов. ===== Часто используемые команды ===== ^Команда^Назначение^ |[[lmbActionCommand]]|Родительский класс для всех команд, работающих со View. Хранит объекты request, response и toolkit и метод performCommand() для сокращения записи в дочерних командах. Получает имя шаблона, который в последствие будет отрендерем в конструкторе.| |lmbNoViewCommand|Может использоваться как базовый класс для тех, команд, которые не связаны с отображением данных, а лишь выполняют какие-либо действия внутри системы. Хранит объекты request, response и toolkit и метод performCommand() для сокращения записи в дочерних командах| |[[lmbFormCommand]]|Управляет процессом обработки форм. Позволяет регистрировать слушателей на события onBefore, onShow, onBeforeValidate, onValid, onError, onAfterValidate, onAfter, проводит валидацию и хранит dataspace с данными, полученными с определенной формы.|