IO v6. Event класс
Описание
Event - класс, позволяющий проводить логирование запросов и работы проекта, а также управлять выводом логов на странице.
Класс наследуется от класса IOObject, соответственно имеет в себе его переменные и методы (см. содержимое класса).
Класс не сильно развит, и в данный момент используется только для отображения и скрытия логов, которые собираются из жестко прописанных мест в коде проектов платформы. Чаще всего этот класс нужен для выявления и исправления ошибок, возникающих в работе "общалки".
В очень старых версиях фреймворка, данный класс содержал свои данные в таблице events базы данных MySQL, но теперь работает без базы данных и нигде данные не хранит, а может только их выводить на экран.
Включение показа логов
Чтобы включить показ логов, нужно в требуемом месте прописать следующее:
Event::$echo = 1;
Event::$loglevel = 5;
Для включения показа логов всего сервиса, в файле index.php проекта нужно раскомментировать вышеуказанный код.
Выключение показа логов
Чтобы отключить показ логов, нужно в требуемом месте прописать следующее:
Event::$echo = 0;
Event::$loglevel = 0;
Для отключения показа логов всего сервиса, в файле index.php проекта нужно закомментировать код включения показа логов.
Переменные класса
triggerfunc
Название пользовательской функции для дальнейшего ее запуска, используя метод trigger().
static mixed $triggerfunc = null
echo
Включение показа логов.
static int|bool $echo = 0
fakequery
???
static int $fakequery = 0
loglevel
Уровень логов.
static int $loglevel = 3
starttime
???
static int $starttime = 0
crlf
???
static string $crlf = "<br/>\n"
space
???
static string $space = " "
types
Типы уровней логов.
static array $types = [
'no' => 0,
'fatal' => 1,
'info' => 2,
'error' => 3,
'warn' => 4,
'debug' => 5,
]
Методы класса
tablename()
Название таблицы в базе данных.
public function tablename()
{
global $iodbtables;
if(!isset($iodbtables['events'])) return null;
return $iodbtables['events'];
}
ВАЖНО
Не используется. Пережитки очень старых версий фреймворка, когда данные хранились в таблице events базы данных MySQL.
struct()
Структура таблицы базы данных.
public function struct()
{
return [
'fields' => [
'pkid' => [
'type' => 'sql',
],
'gmtimeAdd' => [
'type' => 'sql',
],
'gmtimeChange' => [
'type' => 'sql'
],
// Краткое описание сообщения
'text' => [
'type' => 'sql',
],
// Длинное сообщение
'message' => [
'type' => 'sql',
],
/*
Тип
sql - запросы БД
system - системные сообщения
event - события
*/
'type' => [
'type' => 'sql',
'default' => 'event',
],
// Модуль уведомлений
'module' => [
'type' => 'sql',
'default' => '',
],
// Уровень важности от 0 - 5
'level' => [
'type' => 'sql',
'default' => '2',
],
'recipient' => [
'type' => 'sql',
'default' => null,
],
'from' => [
'type' => 'sql',
'default' => null,
],
],
'primary' => [
0 => 'pkid',
],
];
}
ВАЖНО
Не используется. Пережитки очень старых версий фреймворка, когда данные хранились в таблице events базы данных MySQL.
start()
Фиксирует время в переменной $starttime.
static start(): void
log_echo()
Позволяет выводить текст лога в нужном месте. Текст будет отображаться при переменной $echo = 1.
static log_echo(
array $params
): void
| Аргумент функции | Тип | Описание | Обязательный |
|---|---|---|---|
$params | array | Передаваемые параметры. | Да |
$params:
| Параметр | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
'module' | string | Название модуля. | Да | |
'level' | string|int | Уроверь лога. | Да | |
'msg', 'message' | string | Текст для вывода. | '' | Да |
Пример:
Event::log_echo([
'module' => 'trade',
'level' => 3,
'msg' => 'some log text...',
);
log()
Позволяет выводить текст лога в нужном месте. Текст будет отображаться при переменной $echo = 1.
static log(
array $params
): void
| Аргумент функции | Тип | Описание | Обязательный |
|---|---|---|---|
$params | array | Передаваемые параметры. | Да |
$params:
| Параметр | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
'module' | string | Название модуля. | '' | Нет |
'type' | string | ??? | 'system' | Нет |
'level' | string|int | Уровень логов (ключ из переменной $types) | 'no' | Нет |
'msg', 'message' | string | Текст для вывода. | '' | Нет |
'recipient' | string | ??? (в теле метода не используется). | Нет | |
'from' | string | ??? (в теле метода не используется). | Нет |
Пример:
Event::log([
'msg' => 'some log text...',
);
trigger()
Вызов триггерной функции с передачей в нее параметров.
Перед ее вызовом в переменную $triggerfunc нужно прописать название существующей функции.
function myfunc($arr)
{
var_dump($arr);
}
Event::$triggerfunc = 'myfunc';
Event::trigger([
'hello' => 'world',
]);
ВАЖНО
Не используется. Пережитки очень старых версий фреймворка.
dbsearch2()
Поиск записей в таблице базы данных.
static dbsearch2(array $arr, $outclass = null): array
ВАЖНО
Не используется. Пережитки очень старых версий фреймворка, когда данные хранились в таблице events базы данных MySQL.