Как использовать класс внутри внешней функции?
Есть класс, который выводит по моему желанию перечень свойств юзера (группа, цвет, дата, пол и т.д.) Назовем его екземпляр "Uinf". Он включается в начале страницы.
Есть функция, которая поключается (require_once) позже этого класса. Назовем ее list_items();
Так вот, я пытаюсь спросить у класса внутри этой функции параметры пользователя. Вот так:
Код:
function list_items() {
echo Uinf->login;
echo Uinf->age;
echo Uinf->id;
}
echo Uinf->login;
echo Uinf->age;
echo Uinf->id;
}
Хотя чуть выше этой функции в этом же файле *.php я могу спокойно добиться этих параметров от класса. А внутри функции - нифига. Говорит, неизвестный класс.
Дело в том, что я уже продолжительное время не программировал, т.к. был занят другими вещами. Теперь свободное время потихоньку возвращается ко мне и я решил вспомнить свой код и писать сайт дальше. Спасибо заранее тем, кто пояснит мне, в чем загвоздка.
Объект должен быть либо глобальным, либо передайте его в параметрах функции.
Код:
global $Uinf;
$Uinf = new Userinfo($_SESSION['id']);
$Uinf = new Userinfo($_SESSION['id']);
function list_items(параметр с типом Userinfo){ тело ф-ции}
Вызов ф-ции list_items(uinf)
Просто глобальные переменные не желательны.
Спасибо. Да, можно и так. Просто, я думал, есть более "правильные" решения и эта функция не обязательно должна иметь параметр. Она должна выполняться всегда одинаково и с одними и теми же условиями.
Проще и правильнее, на мой взгляд, сделать функцию "list_items" методом класса "Userinfo".
В моем случае неэкономно - list_items вызывается в 10% случаев посещения сайта, а Userinfo 99,9%. Спасибо, использую передачу через параметр в функцию.