добавил хуйни к сессиям

This commit is contained in:
Arsen Mirzaev Tatyano-Muradovich 2023-02-26 02:08:53 +10:00
parent b2a78519e4
commit 6360d4cddb

View File

@ -122,6 +122,10 @@ final class session_model extends core
} }
} }
public function __destruct() {
// Закрыть сессию
}
/** /**
* Связь сессии с аккаунтом * Связь сессии с аккаунтом
* *
@ -218,12 +222,12 @@ final class session_model extends core
/** /**
* Записать * Записать
* *
* Ищет свойство, если не находит, то ищет его в инстанции документа сессии из базы данных, * Ищет свойство в инстанции сессии, если не находит, то ищет его в инстанции документа сессии из базы данных,
* затем записывает в него переданные данные. Инициализация новых свойств происходит в инстанции * затем записывает в него переданные данные. Динамическая инициализация свойств происходит в инстанции
* документа сессии из базы данных * документа сессии из базы данных
* *
* @param string $name Название * @param string $name Название свойства
* @param mixed $value Содержимое * @param mixed $value Содержимое для записи
* *
* @return void * @return void
*/ */
@ -236,9 +240,9 @@ final class session_model extends core
/** /**
* Прочитать * Прочитать
* *
* Ищет свойство, если не находит, то ищет его в инстанции документа сессии из базы данных * Ищет свойство в инстанции сессии, если не находит, то ищет его в инстанции документа сессии из базы данных
* *
* @param string $name Название * @param string $name Название свойства
* *
* @return mixed Данные свойства инстанции сессии или инстанции документа сессии из базы данных * @return mixed Данные свойства инстанции сессии или инстанции документа сессии из базы данных
*/ */
@ -246,4 +250,48 @@ final class session_model extends core
{ {
return $this->{$name} ?? $this->document->{$name}; return $this->{$name} ?? $this->document->{$name};
} }
/**
* Проверить инициализированность
*
* Ищет свойство в инстанции сессии, если не находит, то ищет его в инстанции документа сессии из базы данных,
* затем проверяет его инициализированность через встроенную функцию isset()
*
* @param string $name Название свойства
*
* @return bool Свойство инициализировано?
*/
public function __isset(string $name): bool
{
return isset($this->{$name}) || isset($this->document->{$name});
}
/**
* Удалить
*
* Деинициализирует свойство в инстанции сессии и в инстанции документа сессии из базы данных
*
* @param string $name Название свойства
*
* @return void
*/
public function __unset(string $name): void
{
unset($this->{$name}, $this->document->{$name});
}
/**
* Выполнить метод
*
* Ищет метод в инстанции сессии, если не находит, то ищет его в инстанции документа сессии из базы данных
*
* @param string $name Название метода
* @param array $arguments Аргументы
*
* @return void
*/
public function __call(string $name, array $arguments = []): mixed
{
return method_exists($this, $name) ? $this->{$name}($arguments) : $this->document->{$name}($arguments);
}
} }