- 1
- 2
- 3
foreach ($templatedata as $templatedataname=>$templatedatavalue)
$$templatedataname = $templatedatavalue;
include($templatesDir.'/'.$file.'.tpl.php');
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+154
foreach ($templatedata as $templatedataname=>$templatedatavalue)
$$templatedataname = $templatedatavalue;
include($templatesDir.'/'.$file.'.tpl.php');
Велошаблонизатор, превращающий пары ключ-значение из массива в локальные переменные шаблона.
Шаблон - простой php-файл, в нужных местах выводящий полученные значения (реже с какой-либо логикой вроде обработки массива).
gegMOPO4 13.06.2011 17:46 # 0
telnet 13.06.2011 19:45 # +1
gegMOPO4 13.06.2011 20:09 # −2
Vindicar 13.06.2011 21:52 # 0
Lure Of Chaos 13.06.2011 22:29 # +2
посудите сами, какая удобная обработка форм: параметры из формы сами попадают в переменные, потом над ними колдуют, и подставляют результат в шаблон страницы, получая готовую красивую страницу!
Но ведь пыхоприматы доигрались (не инициалируют и не проверяют) до того, что register_globals стало само по себе опасным - то есть, лечим не причину, а запрещаем следствия.
gegMOPO4 14.06.2011 19:16 # 0
Если бы гарантировалось отсутствие конфликта имён параметров формы с именами переменных скрипта (например, разными префиксами) — это бы прокатило. Но в extract это только третий, необязательный, параметр. И поведение по умолчанию не такое. В PHP это правило — есть небезопасный простой и очевидный способ сделать что-то и необходимость отдельно поплясать и поработать головой, чтобы было как надо.
Lure Of Chaos 14.06.2011 19:29 # 0
Поэтому, несмотря на фундаментальную убогость (те самые огрехи, которые тянутся до сих пор) языка и API, это все же неплохое срество (было) класса reporting services.
з.ы. Я все мечтаю, когда пхп будет потеснен со сцены "стандарт де-факто серверного программирования", как некогда пхп вытеснил cgi-perl, и хостеры (в т.ч. бесплатные) будут укомплектованы не пхп, а, скажем, java
bugmenot 14.06.2011 20:09 # 0
ЧСХ, при консервативных настройках PHP чатик и не получится сделать
Lure Of Chaos 14.06.2011 20:36 # 0
w?
bugmenot 15.06.2011 20:12 # 0
guest 18.06.2011 03:13 # 0
gegMOPO4 15.06.2011 22:59 # 0
Vasiliy 16.06.2011 10:12 # 0
Perl не ?
gegMOPO4 16.06.2011 14:35 # 0
Lure Of Chaos 16.06.2011 15:13 # 0
Думаю, лучше бы он был подобно питону - на выбор либо интерпретирующийся, либо компилирующийся в натив.
Lure Of Chaos 16.06.2011 15:07 # 0
bugmenot 17.06.2011 19:57 # 0
mod_perl охуителен по сравнению с говнищем, которое даже под фильтры не удалось заточить
Lure Of Chaos 16.06.2011 13:46 # 0
gegMOPO4 16.06.2011 14:49 # −1
Нужен xsl с человеческим простым синтаксисом. И чтобы сгенерировать невалидный xml или небезопасно обработать данные было бы так же трудно, как плохо отформатировать код в Питоне.
Чтобы любой Вася Пупкин мог написать свой хелловорд, но когда этот хелловорд вырастет до размеров большой системы, были и модульность, и структурность, и контроль данных, и обработка ошибок — без значительного усложнения. О кодировках и эскейпинге и говорить нечего — это должно обеспечиваться автоматически.
Lure Of Chaos 16.06.2011 15:08 # +2
позвольте, вам нужен императивный ЯВУ или язык разметки?
gegMOPO4 17.06.2011 16:24 # 0
Lure Of Chaos 17.06.2011 16:34 # +1
gegMOPO4 17.06.2011 16:49 # −1
Lure Of Chaos 17.06.2011 17:06 # +1
> с возможностью включать часть логики в шаблоны
я вообще против такого
gegMOPO4 17.06.2011 17:28 # 0
Если не включать часть логики в шаблоны, то придётся хардкодить шаблоны в код, что не лучше.
Lure Of Chaos 17.06.2011 17:42 # +1
посмотрите на jstl
например, что бы не городить код в шаблоне, можно описать новый тег. Например, который, в зависимости от кол-ва выводил бы нужную словоформу. А логику уже бы реализовал обработчик тега на ЯВУ
gegMOPO4 17.06.2011 18:43 # 0
Насчёт словоформ — то это как раз языковая конструкция. Изменили шаблон, переформулировали фразы — словоформы ушли и появились. Поэтому сам текст должен быть в шаблоне, а вот конструкция выбора — стандартная.
Lure Of Chaos 17.06.2011 19:04 # 0
guest8 09.04.2019 10:56 # −999