Forum Webscript.Ru
Программирование => PHP => Тема начата: Petroffs от 20 Января 2005, 11:29:46
-
Смарти предназначен, как я правильно понял, для
отделения логики от представления.
Хочу лишь узнать правильно ли я делаю...
В файле functins.php обрисовываю функции делающие что
либо, в файле index.php их вызываю и скармливаю Смарти,
а в файле index.tpl представляю полученные данные.
Так? Мне кажется что что-то не так... А именно, мне
приходится сразу же вызывать все функции, независимо от
того, нужны ли они... Или они (как сказано в доке)
кешируются и потом требуется меньше ресурсов?
//functions.php
get_navigation($id) {
//достаю данные из mysql, получаю массив
$link=array(1,2,3,...n);
}
//index.php
get_navigation($id);
$smarty->assign("navigation", $link);
//index.tpl
{foreach key=$link from=$navigation}
{$key}
{/foreach}
Укажите пожалуйста, есть ли здесь принципиальная ошибка (я о самой работе со Смарти)?
И если я забью в шаблоне вывод формы, типа {$form}. Но эта форма будет появляться в опред. случае... Тогда в шаблоне лишний раз будет обрабатываться пустая переменная?
-
функция выполняется только в момент обращения к ней.
Petroffs:
Тогда в шаблоне лишний раз будет обрабатываться пустая переменная?
И что? Почему тебя это беспоекоит?
-
RomikChef
RomikChef:
функция выполняется только в момент обращения к ней.
да это верно...
RomikChef:
И что? Почему тебя это беспоекоит?
Просто спросил, должно ли так быть...
У меня автоматом, например, генерируется таблица с переменныыми, а их пока нет (пустые) - таблица же сгенерируется... а это уже кривоватый шаблон...
-
Petroffs:
Смарти предназначен, как я правильно понял, для
отделения логики от представления.
С двумя поправками.
1. полностью отделить логику от представления невозможно. Тем более, когда человек слабо представляет себе смысл эжтих терминов. Впрочем, когда представляет - тоже.
2. Смарти предназначен для того, чтобы насильно разделять логику и представление, для тех, у кого не хватает сил сделать это самостоятельно.
Однако, исходя из п.1, ради этого разделения приходится все усложнять и усложнять код. В результате мы имеем еще один язык, в котором логики - полные штаны.
-
RomikChef
ты действительно такой ярый противник шаблонизаторов? :)
-
так ответа на вопрос - так ли все делаеца (концептуально):
Petroffs:
//functions.php
get_navigation($id) {
//достаю данные из mysql, получаю массив
$link=array(1,2,3,...n);
}
//index.php
get_navigation($id);
$smarty->assign("navigation", $link);
//index.tpl
{foreach key=$link from=$navigation}
{$key}
{/foreach}
не нашел!
-
Алексей я не противник.
просто для большинства из нихя не вижу смысла в большинстве случаев.
Petroffs
Ну, может быть, кто-нибудь ответит еще :-)
-
RomikChef:
из нихя не вижу
Учитывая особенности русского языка, я чуть было не так понял :)
А Смарти - я его проверяю, пытаюсь понять, чем же он так хорош, раз его так малюют... Вот и смотрю как его "кушать" надо...