Выполнить PHP код

Dontcare

Новичок
Выполнить PHP код

Здравствуйте

есть переменая в ней хранится кусок php кода.

Вопрос
Чем заставить этот php код работать?

Заранее всем большое спасибо за помощь
 

SiMM

Новичок
Ты не должен этого хотеть. По крайней мере, пока не сможешь объяснить необходимость этого остальным участникам форума.
 

_RVK_

Новичок
Dontcare
Есть, но пока не расскажешь зачем, мы не скажем как :)
 

Dontcare

Новичок
Дополнительные функции лежат в базе данных
мне нужно чтоб они исполнялись
 

_RVK_

Новичок
Что в базе делают функции? Пойми вот что. Ты можешь заставить php выполнить код в переменной. Но это он сделает сравнительно медленно. Поэтому такую возможность нужно использовать крайне осторожно, и только при крайней необходимости
 

Dontcare

Новичок
ну если медленно, то будем искать другие способы

Спасибо
 

Макс

Старожил PHPClub
Diesel,
здесь не столько проблем со скоростью, сколько с безопасностью.
С исполнением кода (у новичков), который находится в переменной, могут быть такие же проблемы, как и с [m]include[/m]-ом
 

_RVK_

Новичок
Кстати, ты не знал о такой возможности?
PHP:
function myfunc()
{
    return 'Hello, world!';
}
$func = 'myfunc';
print $func();
В баузере:
Hello, world!

НО такой код будет медленне чем прямой вызов функции, а главное более запутанный. В большой программе ты потом часами будешь искать, какая функция у тебя на самом деле выполняется. Знать о такой возможности полезно, но применять осторожно.
А функции в БД вообще хранить не стоит.

-~{}~ 13.10.04 18:08:

Макс
Согласен. Это тоже надо учитывать.
 

tony2001

TeaM PHPClub
Diesel
>НО такой код будет медленне чем прямой вызов функции,
это миф.
 

_RVK_

Новичок
tony2001 Почему? Ведь PHP как минимум нужно прочитать переменную, разобрать строчку и только потом выполнить функцию. Согласен что это экономия на спичках, но я указал основную причину почему такую возможность нужно использовать осторожно.
 

Screjet

Новичок
Ведь PHP как минимум нужно прочитать переменную, разобрать строчку ..
Не нужно ничего разбирать:
1) ПХП-машина работает с байт-кодом.
2) Все разборы происходят при операции "=".
 
Сверху