все знают в функциях (function x(){...}) используется локальная область для хранения переменных.
то есть такое не прокатит
$var = 'привет';
function test()
{
echo $var;
}
test();
// можно конечно заюзать global $var, или $GLOBALS['var']
я сделал импорт глобальных переменных так
foreach($GLOBALS as $var_name = $var_value)
{
$$var_name =& $GLOBALS[$var_name];
}
что в итоге
function test()
{
foreach($GLOBALS as $var_name => $var_value)
{
$$var_name =& $GLOBALS[$var_name];
}
echo $somevar;
$somevar = 'blabla';
}
$somevar = 'привет';
test();
echo $somevar;
дает 'приветblabla'
С уже зарегистрированными переменными вопрос решили, но вот как быть с теми которые были созданы в функции?
каким образом их можно вынести в глобальную видимость?
// использовать $GLOBALS['var'] и global $var для каждой переменной не предлагать
не совсем понятен вопрос. какого результата нужно добится в контексте приведенного примера?
08 Окт 2010, 20:26требуется возможность использовать конструкции $somevar вместо $GLOBALS['somevar'] в функции (в локальной области), либо в конце функции вынести все локальные переменные в глобальную видимость.
08 Окт 2010, 20:33Это мегаговнокод
/offtop
Как раз для govnokod.ru
/offtop
Области видимости придумали не для того, что бы вы их убирали, если надо убирать - плохая логика, проблема в другом месте.
Ну и ОО подход 
echo $somevar;
$somevar = 'blabla';
если поменять местами, дает blablablabla, сорь за оффтоп, ща подумаем
?
Все что написано в первом посте - бред.
Перелинковка в каждой функции ВСЕХ переменных это просто супер конечно, xdebug красивый профайл выдал? Гг.
P.S. Выносить переменные за функцию - обратная операция вносу ее туда
Получить переменные поможет: get_defined_vars();
P.S. А еще не плохо было бы прочитать про extract().
P.S. Но вообще за такие костыли надо этими костылями по горбу давать 