Прежде чем я объясню эту проблему, я знаю риски использования eval, но нет реального способа сделать это на том, как моя система построена, а также для личного проекта только. (его пользовательский cms, который, когда я публикую его, делает физические файлы для меня, я просто сделал это, хотя db, поэтому мне не нужно загружать файлы, когда не работает удаленный, и это просто).PHP eval в eval не может читать предифференцированные переменные
Позволяет объяснить мою проблему, у меня есть основной файл php, который обрабатывает все страницы, все страницы хранятся в db с кодом и все и выполняется через eval. И система также имеет функцию include_db, которая в основном делает то же самое, что и включить php normaly только из db.
Но когда я обращаюсь к переменной, определенной на первой странице eval (главная страница), ее невозможно прочитать в включенном eval из db. Странно, что функции могут быть считаны, хотя вторая оценка.
Любой способ доступа к переменным normaly из включенного eval, который генерируется в eval главной страницы? (я думаю, что он должен делать, потому что эти переменные не являются глобальными и его выполняется в функции, но я не знаю, как сделать каждую переменную глобальной :()
Заранее спасибо!
Код что в настоящее время evalled на главной странице:
$skill = isset($_REQUEST['skill']) && is_string($_REQUEST['skill']) && isValidSkill($_REQUEST['skill']) ? $_REQUEST['skill'] : 'overall';
if(!isset($_REQUEST['player']))
include_db('highscore_overview');
else
include_db('highscore_player');
и внутри включать в обзор я свалка get_defined_vars() и не возвращает $ навыка я поставил перед включать только переменные, которые объявлены в main index.php (база данных и так далее)
Казалось бы, ваша проблема не имеет ничего общего с 'eval', но с переменной областью. Вы должны отправить пример кода, который показывает проблему. – jeroen
Я добавил код, который я использую, с другой информацией – crasyboy42
Возможно, PHP-версия может быть полезной –