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