при чем тут шаблонизаторы?
Цитата (depp @ 23.03.2016 - 04:14) |
при чем тут шаблонизаторы? |
а вот при том:
Цитата (depp @ 23.03.2016 - 02:40) |
ставлю всегда в disable functions на уровне php ini |
Дело в том, что и SMARTY и TWIG и многие другие шаблонизаторы достаточно активно юзают eval(). Впрочем не только они. Фреймворки тоже не брезгуют. Пока пишешь игрушки побаловаться для себя, то можно eval и задизаблить. А если юзаешь сторонние инструменты, то рано или поздно нарвешься на "непонимание".
И ради чего отказываться? Ради неумения применять? Или необоснованной паранойи?
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 23.03.2016 - 08:29) |
SMARTY и TWIG и многие другие шаблонизаторы достаточно активно юзают eval() |
Цитата (twin @ 23.03.2016 - 08:29) |
Фреймворки тоже не брезгуют |
это проблема smarty, twig и фреймворков.
php не просто так рекомендует
не использовать eval.
реальный шаблонизатор в php существует только один:
ob_start();
include("template.php");
$content = ob_get_contents();
ob_end_clean();
Цитата (depp @ 23.03.2016 - 14:04) |
это проблема smarty, twig и фреймворков. |
Ну так я и говорю - пока для себя балуешься, как хочешь. А если потребуется что-то использовать,твои настройки не годятся.
Цитата (depp @ 23.03.2016 - 14:04) |
php не просто так рекомендует не использовать eval. |
пруф в студию.
Цитата (depp @ 23.03.2016 - 14:04) |
реальный шаблонизатор в php существует только один: |
Ага. За инклюд в цикле нужно руки отрывать по саму майку.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 23.03.2016 - 18:12) |
Ага. За инклюд в цикле нужно руки отрывать по саму майку. |
ну если руки кривые - то нужно.
Не вижу там рекомендаций "не использовать"
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
плохо смотрите:
en: Its use thus is discouraged.
ru: Использование данной функции не рекомендуется.
Цитата (depp @ 23.03.2016 - 14:26) |
плохо смотрите: |
Я не зря написал, что не вижу.
Цитата (depp @ 23.03.2016 - 14:26) |
Its use thus is discouraged. |
Здесь немаловажное значение имеет слово thus (поэтому). Если вырвать из контекста, то можно реально подумать, что не рекомендуется. Но если прочитать внимательно всё предостережение, то это "не рекомендуется" относится только к данным сомнительного происхождения. А именно к пользовательским данным. Я, а сначала и Сергей, потому и интересовались, откуда данные. К случаю, если они внутренние и надежные, рекомендация "не использовать", не относится.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
вы сами то понимаете то перелили из пустого в порожнее?
Цитата |
If eval() is the answer, you're almost certainly asking the wrong question. -- Rasmus Lerdorf, BDFL of PHP |
хотите использовать eval - ради бога. ваше право.
Цитата (depp @ 23.03.2016 - 14:41) |
If eval() is the answer, you're almost certainly asking the wrong question. -- Rasmus Lerdorf, BDFL of PHP |
И что это доказывает? Даже он оставил лазейку для себя:
![smile.gif](http://phpforum.su/html/emoticons/smile.gif)
Да, если есть возможность обойтись без неё малой кровью, то лучше обойтись. Но есть моменты, когда отказ от eval() не то чтобы невозможен, а нерационален и контрпродуктивен.
А вообще там же есть классный коммент:
Цитата |
At least I think, if you say "The eval() language construct is very dangerous because it allows execution of arbitrary PHP code." you just as well can say "PHP is very dangerous because it allows execution of arbitrary PHP code." |
Цитата |
По крайней мере, когда Вы говорите, "Конструкция eval() очень опасна, потому что она позволяет выполнить произвольный код на PHP", Вы точно так же можете сказать: "PHP очень опасен, потому что он позволяет выполнить произвольный код на PHP." |
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Zzepish
23.03.2016 - 22:37
depp
Цитата |
ставлю всегда в disable functions на уровне php ini не было еще такой задачи, требующей eval. и флаг "e" в preg_replace не зря убрали. |
А зачем ее дизаблить? Можно просто не юзать.
Вот на тему флага "e" - я его не юзал. так что фиг его знает
Zzepish
23.03.2016 - 22:45
depp
Цитата |
это проблема smarty, twig и фреймворков. |
Ограниченное мышление, имхо.
Твин прав:
Цитата |
At least I think, if you say "The eval() language construct is very dangerous because it allows execution of arbitrary PHP code." you just as well can say "PHP is very dangerous because it allows execution of arbitrary PHP code." |
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.