Я пытаюсь получить доступ к переменной, определенной в родительском файле, изнутри требуемого файла, например:
<<< parent.php >>>
$controller = 'index'; require ('child.php');
<<< child.php >>>
echo $controller;
так или иначе, я получаю нулевой вывод, а это значит, что переменная недоступна через child.php .. Я делаю что-то неправильно здесь? если возможно, сообщите мне, как я могу вызвать указанную выше переменную в файле child.php, если выше кажется неправильным.
С уважением
Никиль Гупта
Объявлена ли ваша переменная вне тела функции? Если нет, это должно быть.
Кроме того, при вызове переменной из вашего дочернего файла попробуйте «инициализировать» ее ключевым словом Global перед ее использованием …
как
Global $myParentVariable;
… затем попробуйте распечатать его. Кроме того, для целей отладки установите переменную в константу в родительском файле вместо того, чтобы выводить значение в некоторой функции. Другими словами, убедитесь, что это не функция, превращающая значение в значение null. (Я вижу, что вы делаете это в сообщении, но не уверены, изменили ли вы его для простоты)
Хорошо, у вас проблема. Думаю, это была моя ошибка. Ошибка не была в приведенных выше строках, но каким-то образом другая переменная была вместо доступа к исходному php, напрямую обращалась к дочернему php.
Итак, догадайтесь, теперь это работает, почему переменные недоступны.
Это странно. Попробуйте увидеть, является ли переменная частью определенных переменных:
$vars = get_defined_vars(); print_r($vars);
Кроме того, если ваша переменная существует в функции, вы можете глобализовать ее с помощью global
ключевого слова.