Это класс используется фреймворком для обработки событий.
Методы
-
__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);