Где разместить глобальную переменную?

Где можно объявить пользователя подобным образом:
$this->oUserProfile=$this->User_GetUserCurrent();
$this->Viewer_Assign('oUserProfile',$this->oUserProfile);

Только главное условие, чтобы эти данные были доступны как в Smarty шаблонах(обязательно) так и во всех плагинах(если это возможно).

6 комментариев

avatar
в шаблонах и так уже есть переменная $oUserProfile
avatar
а можно как-то в плагине(модуле) получить доступ к переменной $oUserCurrent из класса User?
avatar
то что вы написали $oUser=$this->User_GetUserCurrent(); можно использовать в любом классе.
avatar
Прошу прощения если вопрос глупый.
А $this->User_GetUserCurrent(); не сильно нагружает? просто в классе User он же и так получает это значение:

public function Init() {
		$this->oMapper=Engine::GetMapper(__CLASS__);
		/**
		 * Проверяем есть ли у юзера сессия, т.е. залогинен или нет
		 */
		$sUserId=$this->Session_Get('user_id');
		if ($sUserId and $oUser=$this->GetUserById($sUserId) and $oUser->getActivate()) {
			if ($this->oSession=$this->GetSessionByUserId($oUser->getId())) {
				/**
				 * Сюда можно вставить условие на проверку айпишника сессии
				 */
				$this->oUserCurrent=$oUser;
			}
		}

Нельзя его вытащить, например как то так: this->User->oUserCurrent?
avatar
к переменной $oUserCurrent нельзя обратиться напрямую. а функция $this->User_GetUserCurrent() как раз и возвращает значение этой переменной.
avatar
Спасибо за помощь!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.