Добрый день, есть небольшое непонимание по поводу метода wakeUp в Битриксе. Зачем он нужен и для чего?
К примеру, мы можем получить сущность инфоблока таким образом:
$classEntity = \Bitrix\Iblock\Iblock::wakeUp(IBLOCK_CATALOG_ID)->getEntityDataClass();
Также, из документации Битрикс мы видим, что можно обратиться таким образом к своим классам:
$book = \Bitrix\Main\Test\Typography\Book::wakeUp(
['ID' => 1, 'TITLE' => 'Title 1']
);
Но, зачем? Если мы можем напрямую обратиться к сущности и получить все данные
\Bitrix\Iblock\Elements\ElementProductsTable::getByPrimary...
В документации написано, что "
для инициализации объекта необязательно выбирать их повторно из базы данных. Объект можно восстановить, имея как минимум значения первичного ключа", но откуда тогда он берет данные? Где они хранятся в таком случае? В кеше, в сессии, в памяти? Откуда и куда он восстанавливает сущность? В общем, один простой вопрос - нафига он нужен?
Буду благодарен за любые подсказки и мало-мальские примеры в реальной практике для понимания.