В 1С-Битрикс существуют два основных подхода к работе с пользователями: использование старого ядра и нового ядра D7. Ниже представлены примеры кода для обоих подходов.

1. Старое ядро

В старом ядре для работы с пользователями используется класс CUser.
Пример получения информации о текущем пользователе:
        
            global $USER;
            if ($USER->IsAuthorized()) {
                $userID = $USER->GetID();
                $userLogin = $USER->GetLogin();
                // Дополнительная обработка
            }
        
    
Пример получения информации о пользователе по ID:
        
            $userID = 1; // ID пользователя
            $rsUser = CUser::GetByID($userID);
            if ($arUser = $rsUser->Fetch()) {
                echo "Логин: " . $arUser['LOGIN'];
                echo "Email: " . $arUser['EMAIL'];
                // Дополнительная обработка
            }
        
    

2. Новое ядро D7

В новом ядре D7 для работы с пользователями рекомендуется использовать класс Bitrix\Main\UserTable.
Пример получения информации о текущем пользователе:
        
            use Bitrix\Main\Engine\CurrentUser;

            $currentUser = CurrentUser::get();
            if ($currentUser->isAuthorized()) {
                $userID = $currentUser->getId();
                $userLogin = $currentUser->getLogin();
                // Дополнительная обработка
            }
        
    
Пример получения информации о пользователе по ID:
        
            use Bitrix\Main\UserTable;

            $userID = 1; // ID пользователя
            $user = UserTable::getById($userID)->fetch();
            if ($user) {
                echo "Логин: " . $user['LOGIN'];
                echo "Email: " . $user['EMAIL'];
            // Дополнительная обработка
            }
        
    

3. Примечания

  • Новое ядро D7 предоставляет более современный и удобный интерфейс для работы с пользователями и другими сущностями.
  • При разработке новых проектов рекомендуется использовать подход D7.
  • При поддержке существующих проектов, написанных на старом ядре, можно продолжать использовать старые методы, однако постепенный переход на D7 улучшит качество и поддержку кода.