[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Экземпляр класса сделать глобальным global
Xes
как экземпляр класса сделать доступным во всех других объектах и функциях чтобы, во всех прочих не писать global $lang_site;
Пробовал так
global $lang_site = new ClassLangSite; 

Не хочет понимать, синтаксическая ошибка.



Спустя 17 часов, 37 минут, 55 секунд (29.04.2012 - 15:04) Vladimir67 написал(а):
Мне кажется никак, разве что передавать
в функцию в качестве параметра, что тоже
в общем не очень изящно.

Спустя 1 час, 51 минута, 6 секунд (29.04.2012 - 16:55) T1grOK написал(а):
Класс "контейнер" со статическим методом. Строим по Singleton-у и радуемся.

Спустя 1 час, 36 минут, 21 секунда (29.04.2012 - 18:31) sergeiss написал(а):
Xes!
//Сначала надо написать
$lang_site = new ClassLangSite;
// а уже внутри всех функций писать
global $lang_site;


Другой вариант, вполне работоспособный :)
// В основной части скрипта пишешь
$_POST['lang_site'] = new ClassLangSite;
// далее НИГДЕ не пишешь global, а просто используешь $_POST['lang_site'], внутри любой функции

И не важно, что у тебя не были переданы параметры в ПОСТ. Важно то, что ПОСТ определен и он супер-глобальный. Так пользуйся этим для своих целей! Тут важно только не злоупотреблять этим делом, только для каких-то особых переменных. Все-таки не зря придуманы параметры у функций.

Спустя 45 минут, 53 секунды (29.04.2012 - 19:17) inpost написал(а):
sergeiss
$GLOBAL['lang_site']; Тоже можно.

Спустя 1 час, 37 минут, 47 секунд (29.04.2012 - 20:55) killer8080 написал(а):
sergeiss
думаю корректней все таки работать с $GLOBALS он такой же суперглобальный, как и $_POST, входные переменные лучше использовать по назначению.

Спустя 11 минут, 43 секунды (29.04.2012 - 21:07) bodja написал(а):
Xes
Что мешает наследовать или создать новый экземпляр класса или передать в качестве аргумента ссылку на старый экземпляр класса?
Обьекты не создаются для того ,что бы использовать глобальные переменные ,а для того чтобы их избегать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.