2011-08-23 3 views
1

поэтому у меня есть структура сайта, как это. У меня есть index.php, который включает() include.php, который включает в себя functions.php и множество других файлов. Что я хочу сделать, это написать $GLOBALS["something"] = 'something here'; в functions.php и после сделать echo $something; в index.php, поэтому он напечатает something here, но почему-то ничего не возвращает. Где моя ошибка?Проблема глобальной переменной PHP по нескольким файлам

+1

Попробуйте распечатать $ GLOBALS с помощью vardump и опубликовать вывод. – evotopid

+1

Поместите некоторый фактический код, и мы сможем помочь вам более легко. –

+0

Напишите чистый код вместо использования глобальных переменных. – KingCrunch

ответ

3

В index.php вы либо должны сказать echo $GLOBALS['something'] или global $something; echo $something; для регистрации $something в качестве глобальной переменной.

Однако я бы вообще отказался от использования глобальных переменных и вместо этого использовал константы, если вам нужно.

+0

это то, что я пытался, но echo $ GLOBALS ['something'] все еще ничего не выводит. Я ценю ваш совет о константах, но теперь я буду придерживаться глобальных. – Treat

+0

@Treat: Вы уверены, что файлы включены, и глобальные регистры, зарегистрированные до того, как используется их код? – NikiC

+0

@NikiC, когда вы спросили об этом так, я понял, что глобальные переменные определены в функции и перемещают их вне функции, и теперь они дают вывод в index.php. Есть ли способ определить их в функции и получить результат в index.php? – Treat

Смежные вопросы