- 1
eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+163
eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');
> Итак нередко возникает необходимость вставки на свой сайт PHP скрипт стороннего производителя. Однако по умолчанию данная возможность отключена в скрипте. Поэтому предлагаем вам небольшой хак, позволяющий использовать любой PHP код в шаблонах
>
> Откройте файл index.php найдите строчку:
> echo $tpl->result['main'];
>
> и замените ее на
> eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');
>
> Все, вы можете использовать сторонние скрипты на вашем сайте. Данных хак не рекомендуется к использованию на версиях ниже 3.0
"... небольшой хак ..."
Ага, небольшой. Нету просто слов... DLE.
"Данных хак не рекомендуется к использованию на версиях ниже 3.0"
Я бы вообще его не рекомендовал бы даже.
http://dle-news.ru/tips/33-ispolzovanie_ljubykh_php_vstavok_v_shabl onakh.html
P.S.: знаю что 2006, но все равно можно было и получше написать.
volter9 21.09.2014 05:11 # 0
inkanus-gray 21.09.2014 06:58 # 0
Упомянутый же фрагмент закрывает эти неявные теги, так что получается
Т. е. код будет исполняться не как PHP, а как HTML с возможностью вставки внутрь PHP-фрагментов.
Благодаря такой обёртке $tpl->result['main'] теперь может содержать не только чистый HTML-код, но и PHP-вставки.
А для чего понадобилось разбивать константу '<?php ' на '<' и '?php ', не знаю. По идее интерпретатор не должен никак реагировать на теги внутри строковых констант.
volter9 22.09.2014 20:32 # 0
Почему бы не написать просто "<?php" ?
eth0 23.09.2014 21:47 # −1
inkanus-gray 21.09.2014 07:42 # +1
volter9 22.09.2014 20:32 # 0
inkanus-gray 22.09.2014 21:21 # 0
doo_dee_doo_dmt 23.09.2014 01:25 # 0
че удобней-то есть? хамл?
inkanus-gray 23.09.2014 01:28 # +1
doo_dee_doo_dmt 23.09.2014 01:16 # +1
Прям в Twig_Environment::loadTemplate()
причем в виме эта штука всю подсветку рушит, а как в топике
eval (' ?' . '>'... все ок
inkanus-gray 23.09.2014 01:28 # +2
doo_dee_doo_dmt 23.09.2014 01:31 # 0
doo_dee_doo_dmt 23.09.2014 01:37 # +1
bormand 23.09.2014 05:38 # +4
Нет чтобы подсветку пофиксить, так они код портят...
inkanus-gray 25.09.2014 07:50 # −1
volter9 25.09.2014 07:53 # 0
Беру минус(ы) на себя если что.
inkanus-gray 25.09.2014 08:19 # +2
Главное, чтобы не минус 5 сразу, потому что тогда комментарий превратится в кат.
volter9 25.09.2014 08:23 # 0
volter9 25.09.2014 08:29 # 0
http://imgur.com/gFYMr0F.png
volter9 26.01.2015 02:56 # 0
http://php.net/manual/ru/language.basic-syntax.phpmode.php#92643