getAuthUser(); if (!$authUser) { return $this->getGuestUser(); } $userCache = new UserCache(); return $userCache->get($authUser['id']); } /** * @return UserModel */ public function getLoginUser() { $authUser = $this->getAuthUser(); $validator = new AppValidator(); $validator->checkAuthUser($authUser); $userCache = new UserCache(); return $userCache->get($authUser['id']); } /** * @return UserModel */ public function getGuestUser() { $user = new UserModel(); $user->id = 0; $user->name = 'guest'; return $user; } /** * @return array|null */ public function getAuthUser() { /** * @var AuthService $auth */ $auth = Di::getDefault()->get('auth'); return $auth->getAuthInfo(); } }