*/ final class invite extends core { /** * Коллекция */ public const COLLECTION = 'invite'; /** * Инстанция документа приглашения в базе данных */ public ?_document $document; /** * Прочитать * * @param string $invite Ключ приглашения * @param array &$errors Реестр ошибок * * @return ?self Инстанция приглашения, если оно найдено */ public static function read(string $invite, array &$errors = []): ?self { try { if (collection::init(static::$db->session, self::COLLECTION)) { // Инициализирована коллекция // Инициализация инстанции приглашения $instance = new self; // Поиск приглашения $instance->document = collection::search( static::$db->session, sprintf( <<document instanceof _document) return $instance; else throw new exception('Не удалось найти инстанцию приглашения в базе данных'); } throw new exception('Не удалось инициализировать коллекцию'); } catch (exception $e) { // Запись в реестр ошибок $errors[] = [ 'text' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine(), 'stack' => $e->getTrace() ]; } return null; } public function from(): ?account { return null; } }