установить $GLOBALS из класса

Статус
В этой теме нельзя размещать новые ответы.

becool

Новичок
установить $GLOBALS из класса

вобщем проблема такая, есть класс, в класе метод грузит переменные через include. Нужно чтоб эти переменные стали видимыми в $GLOBALS. Имена переменных я не знаю.

Вот примерно так:
class a{
a(){
include('file.php'); // тут допустим есть переменная $foo='hello!'
/*
что то делаем, чтоб $foo появилась в $GLOBALS;
*/
}
}

new a();
echo $foo; // результат hello;
 

Фанат

oncle terrible
Команда форума
есть.
но тогда тебе не нужен класс.
выбери что-то одно
 

Pigmeich

Новичок
becool
Нужно загрузить файл и отпарсить его токенайзером и выставить GLOBALS.

Это был прямой ответ на вопрос.
 

becool

Новичок
Pigmeich пасиб!, я чёт подобное уже нагромоздил, но результат меня не совсем обрадовал.
В этоге упорядочил все возможные переменные в массив с именем известным мне и всё ограничилось:
$GLOBALS[$varname]=$$varname;
Правда пришлось ночку оттарабанить =))
 

Pigmeich

Новичок
becool
Э-э... Ну да, подобный пример я тоже обдумывал, но решил прямой ответь дать.

Расцвет подобного приема можно посмотреть в phpBB. Главный прием - добавление с автоиндексом: $arr[] = $value.

Только вот я сомневаюсь, что ты токенайзер прикрутил. Но рад, что ответ натолкнул на изыскания.
 

becool

Новичок
Автор оригинала: Pigmeich
becool
Э-э... Ну да, подобный пример я тоже обдумывал, но решил прямой ответь дать.

Расцвет подобного приема можно посмотреть в phpBB. Главный прием - добавление с автоиндексом: $arr[] = $value.

Только вот я сомневаюсь, что ты токенайзер прикрутил. Но рад, что ответ натолкнул на изыскания.
Я просто написал парсер, который через регулярку из файла брал строку с переменной, из matches выбирал имя и значение переменной. Но были проблемы с массивами, их тоже можно решить, но оказлось проще переписать вкладываемый файл =)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху