Проверка корректности кода для eval

Anton

Just Programmer
Проверка корректности кода для eval

Доброе время суток всем. :))

Есть проблема ...

Есть необходимость небольшой кусочек кода пропустить через eval.

Проблема в том, что мне надо проверит корректен ли код, передоваемый для евала, до того как он заругаеться.

Есть какиениюудь мнения??
 

hoster

Guest
Hi Anton .
Ну уж если ты докатился до eval-а , то тогда используй функцию create_function() (см. манул), которая может не только создавать функцию, но и проверять код на валидность, т.е. если функция создалать (со всем твоим кодом) (true), то код валиден.
 

PhpDeveloper

Guest
Re: Проверка корректности кода для eval

Автор оригинала: Anton
Доброе время суток всем. :))

Есть проблема ...

Есть необходимость небольшой кусочек кода пропустить через eval.

Проблема в том, что мне надо проверит корректен ли код, передоваемый для евала, до того как он заругаеться.

Есть какиениюудь мнения??
Каким образом формируется код для eval'a ?
 

Anton

Just Programmer
For Demiurg: Я с тобой согласен. eval использолвать это не есть хорошо
:) И конечно от него уйдем, но чуток попозжее, пока надо сделать так в силу ряда причин.

For hoster: Круто, спасибо большое. Вот кака раз ее я и пытался вспомнить, помнил что быол что-то такое что проверяло. Спасибо огромное.

For PhpDeveloper: Весь ужас ситуации в том что этот код пишет человек :))) Поэтому и надо протестить:))) Прошу не падать в обморок:))) но временно так надо, всю кривость осознаю. Зато быстро сделать можно.
 

PhpDeveloper

Guest
Весь ужас ситуации в том что этот код пишет человек :))) Поэтому и надо протестить:))) Прошу не падать в обморок:))) но временно так надо, всю кривость осознаю. Зато быстро сделать можно.
Это дыра.
 

akul

Guest
кажется, проблема не в том, чтобы роверять код до выполнения, а в том, чтобы при кривом коде оно в фатальную ошибку не выпадало, верно? тогда просто перехвати ошибку.
 

Anton

Just Programmer
To Demiurg: А что такое `rm -rf /`? Можно чуток по подробнее???

To akul: Да, суть в том что бы ошибка не выпадала, но просто перехвата не достаточно, надо еще точно узнать в каком из кусочков ошибка произошла и указать на это. Удалось успешно решить с помощью create_function(). Спасибо большое hoster за то чо напомнил.
 
Сверху