CurrentUser
CurrentUser является статическим классом для получения данных пользователя текущего запроса. Класс автоматически доступен после запуска CMS.Поддерживает
- проверку наличия авторизованного пользователя
- получение основных данных пользователя
- получение номера телефона
- получение пользовательских метаданных
- указание значения по умолчанию
Проверка авторизации
isAuthenticated(): bool
Возвращает true, если в текущем запросе доступен авторизованный пользователь:
php
if (!CurrentUser::isAuthenticated()) {
return;
}Для неавторизованного посетителя возвращается false.
Данные пользователя
get(string $name, mixed $default = null): mixed
Возвращает значение поля текущего пользователя:
php
$email = CurrentUser::get('email');
$phone = CurrentUser::get('phone', '');Вторым аргументом можно передать значение по умолчанию:
php
$avatar = CurrentUser::get(
'avatar',
'/assets/images/avatar.svg'
);Если пользователь не авторизован, поле отсутствует или содержит null, метод возвращает значение по умолчанию.
Основные поля
| Поле | Тип | Описание |
|---|---|---|
id |
int |
Идентификатор пользователя. |
login |
string |
Логин пользователя. |
email |
string |
Адрес электронной почты. |
phone |
string |
Номер телефона. Может быть пустым. |
register |
string |
Дата регистрации. |
role |
string |
Роль пользователя. |
avatar |
string |
Путь к изображению аватара. |
Метаданные пользователя
meta(string $name, mixed $default = null): mixed
Возвращает значение пользовательского метаполя:
php
$displayName = CurrentUser::meta('display_name');
$city = CurrentUser::meta('city');Для отсутствующего метаполя можно указать значение по умолчанию:
php
$displayName = CurrentUser::meta(
'display_name',
CurrentUser::get('login', 'Пользователь')
);Важные замечания
- перед получением данных проверяйте
isAuthenticated() - набор метаданных зависит от настроек пользователя и установленных модулей
- класс предоставляет данные только пользователя текущего запроса
- изменение полученного значения не сохраняет его в CMS
- создавать экземпляр
CurrentUserне нужно