Содержание

Команды. Интерфейс 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 с данными, полученными с определенной формы.