Это класс используется фреймворком для обработки событий.
Методы
-
__construct
Конструктор класса.
-
addCustomHandler
Подключает динамический обработчик событий.
-
clearCache
Очищает кеш с информацией об обработчиках событий.
-
reset
Удаляет из оперативной памяти информацию об обработчиках событий.
-
run
Запускает обработчики для события, указанного при создании экземпляра класса.
public function __construct ($app_id, $name, $options = [])
Конструктор класса. Можно использовать для создания экземпляра класса, чтобы вручную запустить обработку указанного события с помощью метода run().
Параметры
-
$app_id
Идентификатор приложения, событие которого нужно обработать.
-
$name
Событие, которое нужно обработать.
-
$options
Дополнительные параметры. Поддерживаемые ключи и значения параметров:
array_keys: массив ключей массива, возвращаемого обработчиком события, для которых по умолчанию должна возвращаться пустая строка. Если указанное событие объявлено в коде приложения с непустым значением этого параметра, то создавать экземпляр классаwaEventдля принудительного запуска обработчиков события нужно с таким же значением, для того чтобы избежать ошибок при использовании приложением значений, возвращаемых обработчиками события.
Пример
//в коде приложения shop событие frontend_product объявлено с массивом параметров ['menu', 'cart', 'block_aux', 'block']
//поэтому при создании экземпляра класса указываем такое же значение для аргумента $options
$event = new waEvent('shop', 'frontend_product', ['menu', 'cart', 'block_aux', 'block']);
public static function addCustomHandler ($handler)
Подключает динамический обработчик событий.
Параметры
-
$handler
Информация об обработчике событий в виде ассоциативного массива со следующими ключами:
event: событие, которое должно обрабатываться.event_app_id: ID приложения, событие которого должно обрабатываться. Если не указано, то указанное событие будет обрабатываться для всех приложений.object: экземпляр класса, публичный нестатический метод которого должен использоваться для обработки события.method: имя одного метода для обработки события — в виде строки или массив строк с именами нескольких методов, которые будут выполняться по очереди в указанном порядке.
Пример
$handler = [
'object' => new someCustomClass(),
'method' => 'eventHandler', // или ['eventHandler1', 'eventHandler2', ...]
'event' => 'some_event',
'event_app_id' => 'some_app',
];
waEvent::addCustomHandler($handler);
public static function clearCache()
Очищает кеш с информацией об обработчиках событий, который хранится в директории wa-cache/apps/system/waEvent/cache/. Кеш сохраняется, если выключен режим отладки и не определена константа WA_EVENT_CLEAR_CACHE (её можно объявить на время разработки в файле wa-config/SystemConfig.class.php).
Пример
waEvent::clearCache();
public static function reset()
Удаляет из оперативной памяти информацию об обработчиках событий. Может быть полезно во время разработки для отладки обработки событий, если кеш с информацией об обработчиках событий не сохраняется: выключен режим отладки и не определена константа WA_EVENT_CLEAR_CACHE (её можно объявить на время разработки в файле wa-config/SystemConfig.class.php).
Пример
waEvent::reset();
public function run (&$params = null)
Запускает обработчики для события, указанного при создании экземпляра класса.
Параметры
-
$params
Параметры, которые нужно передать в обработчики события.
Пример
$event_class = new waEvent($event_app_id, $name, $options); $result = $event_class->run($params);









