Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: документация к шаблонизатору
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
есть одна шикарная мысль
более говорящие названия
самодокументация лучшая документация
DlTA
Отправлено: 19 Марта, 2014 - 09:32:25
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
LIME пишет:
самодокументация лучшая документация
а пример?
LIME
Отправлено: 19 Марта, 2014 - 09:34:25
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
$textTempl = "Ваш заказ №{oderNum}" . /* номер заказа */ .
", дата создания {dateCreate}, адрес: {adres}"; (Добавление)
это не пример
тоесть это отдельно (Добавление)
{deliveryAdres} - адрес доставки
DlTA
Отправлено: 19 Марта, 2014 - 09:39:19
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
LIME, первый пост полностью прочитали??
я не понимаю как мне поможет добавление коментариев в текст шаблона с тем чтоб я в будущем мог узнавать название шаблонов и их назначение?
шаблоны то у меня хранятся не только в 1 файле, они берутся из базы, при выводе инфы о заказе, а иногда использование данного шаблонизатора это единственный метод для получение неких специфических значений для заказа, например закодированной ссылки для возможности просмотра статуса заказа (Добавление)
LIME пишет:
$textTempl = "Ваш заказ №{oderNum}" . /* номер заказа */ .
", дата создания {dateCreate}, адрес: {adres}";
(Добавление)
это не пример
тоесть это отдельно
(Добавление)
{deliveryAdres} - адрес доставки
тоесть суть идеи в том чтоб обзывать шаблон так чтоб не надо было вспоминать его название
но вот проблема в том что этот метод работает наоборот, сначало мы видим название элемента а уже потом понимает что вместо нее будет подставленно
а нужно наоборот, зная что нужно подставить вписать элемент, а тут как бы достаточно большой разброс
armancho7777777
Отправлено: 19 Марта, 2014 - 10:58:19
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
ориентируюсь на шаблон.
т.е. сначала пишу шаблон, потом открываю его в блокноте на втором мониторе, и пишу код, который формирует нужные шаблону данные.
Т.к. В шаблоне могу писать любые переменные, то остается только закинуть данные в массив с соответствующими ключами.
В качестве шаблонизатора выбрал Mustache - простой как три копейки, имеет реализации для php и js -> использую один и теже шаблоны на клиенте и сервере. Красота.
----- Чем больше узнаю, тем больше я не знаю.
DlTA
Отправлено: 19 Марта, 2014 - 16:54:33
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
armancho7777777,DelphinPRO
ребята не тупите, у меня нет возможности брать шаблон из пыха файла в который я буду подставлять переменные в текст, использование какого либо еще шаблонизатора так же не обосновано
для наглядности, шаблоны у меня могут браться из базы, или прямо в коде для быстрого получения заумных значений
еще раз, вопрос изначально в том, как документировать простыню элементов для подставки в шаблоны?
DelphinPRO
Отправлено: 19 Марта, 2014 - 17:02:16
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
мы не тупим вопрос был:
DlTA пишет:
как вы организовываете подсказки по шаблонам?
на него и был дан ответ (Добавление)
запишите в текстовый файлик и держите перед глазами делов-то..
----- Чем больше узнаю, тем больше я не знаю.
DlTA
Отправлено: 19 Марта, 2014 - 17:55:15
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
DelphinPRO пишет:
запишите в текстовый файлик и держите перед глазами делов-то..
мдамс, современный век, спутники летают, роботы бродят и играют в хокей, а подсказку по прежнему держим в соседнем файлике для переодического обращения, печалька.(
armancho7777777
Отправлено: 19 Марта, 2014 - 18:05:22
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
DlTA, нечего говнокодить, тогда идиотские вопросы отпадут сами собой.
DlTA
Отправлено: 19 Марта, 2014 - 18:17:45
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
armancho7777777 пишет:
нечего говнокодить, тогда идиотские вопросы отпадут сами собой.
эм, я конечно понимаю что мои высказывания могли быть обидными, но могу поспорить по поводу того, что есть что.
как примерно это должно использгваться при условии что например для 1 заказа у меня как минимум 40 шаблонов вывода
тоесть на примере вашего кода, мне нужно в классе MyCOrder создать еще 39 методов для получения конечного текста
еще правда непонятно накой делать эти методы динамеческими (не статическими) если внутырь подается только заполненный объект с полями/значениями
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
DlTA пишет:
а подсказку по прежнему держим в соседнем файлике для переодического обращения
ну я иногда распечатываю и на стену вешаю какую-то инфу, списки и т.п., которая нужна в данный момент. Если это ускоряет работу, почему бы и нет?
----- Чем больше узнаю, тем больше я не знаю.
armancho7777777
Отправлено: 20 Марта, 2014 - 04:58:50
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
DlTA пишет:
накой делать эти методы динамеческими
Начнём с того, что нет такого понятия "динамические методы" ))
Ключевое слово "static" я упустил в силу спешки, так как акцент был не на этой части кода.
DlTA пишет:
тоесть на примере вашего кода, мне нужно в классе MyCOrder создать еще 39 методов для получения конечного текста
Я показал, как реализовать передачу аргументов, решив проблему читабельности и подсказок в редакторе.
А реализация класса - шаблонизатора за Вами.
Мой вариант ниже (писАл на коленке):
Шаблон из базы?
Нет проблем, достаточно переопределить метод render и
реализовать конструктор, принимающий один аргумент - контент, который надо отрендерить и вывести:
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
armancho7777777,
суть ясна
НО это шаблонизатор, просто шаблонизатор, самый простой, всеголиш с той разницей, что он находит элементы шаблона и подменяет из значения массива, а если не находит, то кидает исключение, интересное решение)
НО причем тут заказ?!? ведь на самом деле весь этот код спокойнейшим образом живет отдельно от понятия заказ!
проблема вот только в том, что мне нужно решить иную проблему, а именно готовить толпу значений которые потом будут подставляться в "ваш" шаблонизатор.
и как я говорил прежде это но просто значение из базы, чаще всего это подготавливаемая величина. (Добавление)
armancho7777777, яб еще поспорил бы по поводу немеряной усложненности кода непонятно ради чего, если есть желание, но в другой теме
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.