Пользовательские события в 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.

Спасибо всем за внимание и до новых встреч.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: