$ Информация может быть вне области действия по многим причинам.
Во-первых, возможно, $ Information является глобальным, и вам просто нужно сообщить php с ключевым словом global :
class foo() {
function display() {
global $Information
print_r($Information);
}
}
Во-вторых, может быть $ Information является частью экземпляра foo? В этом случае в php вам понадобится ключевое слово "$ this".
class foo() {
function display() {
print_r($this->Information);
}
}
В-третьих, возможно, $ Information был создан в вызывающей стороне display, а display / foo просто ничего об этом не знает.
function bar()
{
$Information = new $information;
$a = new Foo();
$a->display();
{
Если вы явно не передадите $ Information для отображения или не сделаете его переменной-членом каждого экземпляра Foo, display не сможет получить к нему доступ. Дисплей может видеть (1) глобальные переменные (2) переменные экземпляра, (3) параметры для отображения и (4) переменные, локальные для отображения. Ничто другое не входит в объем отображения ().
Правки для ответов на ваши вопросы
Да, под глобальным я имею в виду, что изначально он был определен как глобальный. Как не в конкретной функции, то есть:
Есть много причин, чтобы избегать глобалов. Много было написано на эту тему. Вот вопрос stackoverflow по теме.