Как установить глобальные переменные в шаблонной странице?
В любом месте вашего скрипта вы можете определить глобальную переменную следующим образом:
Используя суперглобальный массив $GLOBALS
. Этот массив предопределён в PHP и доступен во всех областях видимости.
Это ассоциативный массив, содержащий все глобальные переменные в виде пар ключ-значение. То есть: ключом будет имя переменной, а значением — значение переменной.
$GLOBALS['variablename'] = 'variablevalue';
И к ней можно обратиться так:
$variable = $GLOBALS['variablename'];
или
global $variable;
Подробнее см.: Область видимости переменных в PHP
РЕДАКТИРОВАНИЕ: Отвечая, я предположил, что пользователь знает о втором методе, но при перечитывании понял, что, возможно, он о нём не знает, поэтому привожу его ниже.
Метод 2:
Вы также можете определить глобальную переменную с помощью ключевого слова 'global'.
Пример кода:
//file1.php
class testScope()
{
function setMsg($msg = 'Привет')
{
//переменная не обязательно должна быть уже определена в глобальной области видимости.
global $say;
$say = 'Привет';
}
function say()
{
global $say;
echo $say;
}
}
//file2.php
function getFile1()
{
include('file1.php');
}
getFile1();
$sayer = new testScope();
$sayer->setMsg(); // это создаст новую глобальную переменную.
$sayer->say();
global $say;
echo $say;
$say = "Я изменил её в глобальной области видимости";
$sayer->say(); // 'Я изменил её в глобальной области видимости'
$sayer->set('я изменил её внутри класса');
echo $say; // 'я изменил её внутри класса'
Примечание: Код не тестировался
