| DRON-ANARCHY |
10.04.2006 22:25 |
Выполнение кода
int eval(string $code)
Эта функция делает довольно интересную вещь: она берет параметр $st и, рассматривая его как код программы на PHP, запускает. Если этот код возвратил какое-то значение оператором return (как, например, это обычно делают функции), eval() также вернет эту величину.
Параметр $st представляет собой обычную строку, содержащую участок PHP-программы. То есть в ней может быть все, что допустимо в сценариях:
? ввод-вывод, в том числе закрытие и открытие тэгов <? и ?>;
? управляющие инструкции: циклы, условные операторы и т. д.;
? объявления и вызовы функций;
? вложенные вызовы функции eval().
Тем не менее, нужно помнить несколько важных правил.
? Код в $st будет использовать те же самые глобальные переменные, что и вызвавшая программа. Таким образом, переменные не локализуются внутри eval().
? Любая критическая ошибка (например, вызов неопределенной функции) в коде строки $st приведет к завершению работы всего сценария (разумеется, сообщение об ошибке также напечатается в браузер). Это значит, что мы не можем перехватить все ошибки в коде, вставив его в eval().
PS use da http://www.google.ru
|