новом ядре есть альтернатива $USER, но чтобы ей пользоваться - нужно использовать $USER чтобы получить id?
Не слышал что то. Есть CUser, это тот же $USER по идее
я сейчас рассматриваю кактй то \bitrix\im\user
Это класс модуля im
модуль веб месседжер. понял. спасибо. поищу ещё на всякий
А зачем искать?) Пользуйтесь тем что есть. CUser еще не deprecated
1. Альтернативы CUser нет. 2. Для получения id юзера можно использовать: \Bitrix\Main\Engine\CurrentUser::get()->getId() Однако спойлер - он там использует тот же global $USER;
Если нужно только читать данные о пользователях то можно использовать UserTable https://dev.1c-bitrix.ru/api_d7/bitrix/main/usertable/index.php
UserTable не даст тебе идентификатор текущего авторизованного пользователя.
Тоже так себе альтернатива. Если по какой-то причине $USER не проинициализирован, то код падает в ошибку, потому что под капотом у CurrentUser::get()->getId() находится $USER->GetID(). И никаких проверок на предмет существования этого самого $USER. Поэтому легко можно словить "call method on null" А ещё CurrentUser::get()->getId() возвращает строку, хотя в аннотации стоит int|null. Но на это я уже где-то жаловался😁
Ну да, поэтому я и написал: Альтернативы нет. Можно использовать другой метод, но там свои ограничения (как и везде). Мой пример исключительно пример.
Обсуждают сегодня