Не видна переменная, определенная в другом месте

Forum5

Новичок
У меня есть сайт на Джумле. Мне нужно сделать перечень просмотренных посетителем страниц. Для этого, я хочу записывать в куки посетителя просмотренные им страницы. Поскольку куки должны устанавливаться до начала вывода html-кода страницы, я пытаюсь установить их в начале файла index.php темы. Но, при этом испльзуются переменные, которые определяются аж где-то в компоненте Джумлы. То есть, скрипт, который посылает куки, использует переменные, которые определяются где-то в другом файле, все это собирается, страница работает, но переменные не видны в начале скрипта темы сайта.

Я где-то читал, что в современых версиях php сначала вычисляются все переменные, а потом исполняется скрипт. То есть, переменная может использоваться в любом месте, где бы она не определялась. Или я неправильно понял?

Ладно. Попробовал с константами. Там, где эти переменные вычисляются, я присваивал их значение константам. Но и значения констант не видны там, где мне нужно.

Как же мне передавать значения переменных? Или - почему они не видны?

Поискал в инете "область видимости переменных", но ничего полезного пока не нашел.
 

radioheaded

PHP нуб
Я где-то читал, что в современых версиях php сначала вычисляются все переменные, а потом исполняется скрипт. То есть, переменная может использоваться в любом месте, где бы она не определялась. Или я неправильно понял?
Вы неправильно поняли.

PHP:
echo $string;
$string = "hello";
$string = "world";
Что вы, с вашим текущим пониманием где-то чего-то прочитанного, ожидаете от этого кода? А теперь выполните и проверьте. Может быть вы раньше занимались только функциональным программированием, тогда вам придется привыкнуть к процедурному.
 

Forum5

Новичок
Andrey Rodin, насколько я понимаю, глобальные переменные учитываются внутри функций. У меня такого нет. Посмотрел про singleton, но пока ничего не понял.

radioheaded, точно. Это я кажется про функции читал, что определяться функция может после ее вызова. Забыл уже.

Мда. Константы меня тоже не выручили. Засада. :(

Интересно, что куки у меня устанавливаются из глубины выполнения скрипта, - из компоненты Джумлы, когда, по идее, htnl-код уже пошел выводиться. Но, читаются эти куки только на этой странице. При переходе на другую страницу установленные куки не видны. Странно.
 
Сверху