@Vernadsky

Не выводится переменная. require в functions.php?

Помогите пожалуйста. Ломаю голову второй день!
Подключил я в function.php файл. В файле переменные. Но они не выводятся в шаблоне...( Файл точно подключен, echo в файле отображается. А переменная нет. За два дня перепробовал все возможные и невозможные способы подключения файла. Почему не выводятся переменные? Буду очень благодарен за помощь.
require get_template_directory() . "/include/file.php";
  • Вопрос задан
  • 534 просмотра
Решения вопроса 1
@BI0R0B0T
Почему не выводятся переменные? - потому что у них разные области видимости. В подключенный файл наследует область видимости (в нём присутствуют те переменные которые инициированы ранее). Чтобы это обойти можно воспользоваться командой return, если нужно передать несколько переменных их можно упаковать в массив. Еще вариант указать что переменные глобальные, но это считается плохой практикой.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
seganim
@seganim
PHP-программист, программный инженер
Решение без сложностей - обрааться $_GLOBAL['имя_переменной'].
Решение адекватное - добавить в file.php namespace, а в файле, где подключение, use namespace. Почитайте про пространство имен.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы