Вы также можете использовать переменную php $ GLOBALS для того, чтобы сделать ваши переменные видимыми во всех областях, но я бы не рекомендовал ее для такого рода задач. Кроме того, будьте осторожны - $ GLOBALS содержит суперглобалы, такие как $ _POST и $ _GET, вы должны помнить об этом, когда т.е. перебирая это. Более того - когда вы можете получить доступ к $ _GET и $ _POST в функциях, которые имеют меньшую область действия, вам все равно придется использовать $ GLOBALS для доступа к пользовательским.
Пример такого поведения:
<?php
error_reporting(-1);
$GLOBALS['_customVar'] = 'foobar';
$GLOBALS['_GET']['id'] = 'myId';
function myFnc() {
echo $_customVar;
}
function myFnc2() {
echo $_GET['id'];
}
myFnc();
myFnc2();
?>