Пользовательские события в Netcat CMS
На этот раз хотелось бы поделиться простым способом создания пользовательских событий в системе управления сайтом Netcat.
Отмечу, что в документации неплохо освещен данный аспект, однако, не совсем достаточно, на мой взгляд.
Итак, приступим.
Обычно, я создаю директорию, например Listeners, где сохраняю все классы с пользовательскими событиями.
А так, в Netcat есть демонстрационный модуль под названием Default (расположен в /netcat/modules/default/). Именно в нем мы создадим директорию Listeners, а само подключение классов с событиями организуем в файле function.inc.php (файл присутствует в каждом модуле).
Пример файла ListenSample.php.
<?php define('NETCAT_EVENT_EVENTSAMPLE', 'Пример события'); class ListenSample { public function __construct() { $nc_core = nc_Core::get_object(); $nc_core->event->bind($this, ['eventSample' => 'event_sample']); } public function event_sample(): void { global $db; // Здесь какие-то ваши действия } }
Пример подключения в файле function.inc.php.
<?php /** * Слушатели событий */ require_once $_SERVER['DOCUMENT_ROOT'] . '/netcat/modules/default/Listeners/ListenSample.php'; /** * Инициализация слушателей событий */ new ListenSample();
С помощью константы NETCAT_EVENT_EVENTSAMPLE можно легко задать описание для вашего события.
Как видно из последней части константы EVENTSAMPLE — это название пользовательского события, написанного заглавными буквами.
Дополнительно можете ознакомиться с системой событий в Netcat CMS.
Спасибо всем за внимание и до новых встреч.