Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.14;
Скачать: CL | DM;

Вниз

Smarty и PHP-функции   Найти похожие ветки 

 
Real ©   (2009-04-09 22:46) [0]

Решил переписать один проект по-нормальному с использованием шаблонизатора. Раньше с оными дела не имел, поэтому взял smarty т.к. все его хвалят. Первые впечатления - вполне хорошие, но вот возник такой вопрос, на который в мануале четкого ответа не нашел: а как вставить в шаблон результат выполнения php-функции? Сам по себе проект - модульный, 90% функционала разбито на функции, выполняющие простые действия. Делать через плагины samrty - не предлагать: во-первых, функций множество и каждую превращать в плагин не очень хочется, во-вторых, проект планируется к распространению и у пользователей может быть свой smarty и негоже нагружать его еще такими задачами как установка моих плагинов (кто-то не сообразит, а кто-то просто не захочет).

Функции хоть несложные, но нереализуемы языком smarty. Используются довольно часто. Типичная структура страницы такая:

<хтмл код, 20 строк>
<? вызов php-функции ?>
<хтмл код, 20 строк>
<? вызов php-функции ?>


и т.д. То есть, разбить документ на куски и в главной странице собирать их типа smarty_шаблон + вызов php-функции нерационально: отдельных шаблонов для одной страницы будет много и редактировать их отдельно будет просто запарой - тем самым сама идея упрощения изменения дизайна сойдет на нет. Наверняка есть какой-то простой и красивый способ вставить в smarty php-функцию одним тегом, наподобие того как вставлены переменные. Только вот как?


 
Real ©   (2009-04-09 23:08) [1]

Наверное вопрос можно закрыть, нашел вот такое как - {php}. Видимо лаконичнее уже никак. Если все таки можно лаконичнее, подскажите


 
Eraser ©   (2009-04-09 23:12) [2]

> [0] Real ©   (09.04.09 22:46)

смарти и иже с ними - на свалку истории. это давно устаревшая технология.. особо популярна именно в рунете, за счет того, что изначально самые известные отечественные CMS работали только с этим шаблонизатором. используйте XSLT, весь цивилизованный и прогрессивный мир перешел на эту технологию шаблонизации, даже яндекс.


 
Real ©   (2009-04-10 00:17) [3]

не знаю как устаревшая, но довольно простая и понятная. XML-подобные решения, мне явно не по душе :) Я вообще с шаблонизаторами не работал, а смарти выбрал потому как куда ни плюнь, везде его упоминают.


> весь цивилизованный и прогрессивный мир перешел на эту технологию
> шаблонизации, даже яндекс

А чего "даже"? Че яндекс самые тупые и консервативные? :)


 
Eraser ©   (2009-04-10 00:31) [4]

> [3] Real ©   (10.04.09 00:17)


> а смарти выбрал потому как куда ни плюнь, везде его упоминают.

эх, не стал бы я ориентироваться на то, что куда ни плюнь упоминают, особенно если это нашей стране. прогрессивный запад еще в 2000-2002 в промышленных масшатабах перешел на XSLT, по этой технологии написана масса документации, статей и даже книг. куда больше, чем по смарти и прочим поделкам. правда далеко не все переведено.


 
Real ©   (2009-04-10 13:43) [5]


> куда больше, чем по смарти и прочим поделкам

Вероятно это и есть главный минус. По смарти - я скачал с офф-сайта мануал в PDF из 222 страниц. Через полчаса выборочного чтения, я имел довольно полное представление как его использовать. Примерно за три часа - я перевел проект с использованием смарти, за это время лишь несколько раз использовав книгу как справочник. Просмотрев оглавление книги, у меня сложилось впечатление что мануал более чем подробный.


> прогрессивный запад еще в 2000-2002 в промышленных масшатабах
> перешел на XSLT

На прогрессивном западе, очень модно ориентироваться на гугл и его технологии, зачастую без особого разбора - выгодно ли это. Я просмотрел статью про XSLT, честно говоря не в восторге. Простотой не пахнет, сразу ясно что потребуется множество документации и времени для ознакомления и перехода.

Вообще я не защищаю смарти и не выступаю против конкурирующих технологий. Просто говорю свое мнение - смарти очень понятен, прост и краток. Судя по отзывам - он к тому же еще и самый быстрый.


 
Eraser ©   (2009-04-10 15:16) [6]

> Вероятно это и есть главный минус. По смарти - я скачал
> с офф-сайта мануал в PDF из 222 страниц. Через полчаса выборочного
> чтения, я имел довольно полное представление как его использовать.
> Примерно за три часа - я перевел проект с использованием
> смарти, за это время лишь несколько раз использовав книгу
> как справочник. Просмотрев оглавление книги, у меня сложилось
> впечатление что мануал более чем подробный.

все это конечно хорошо, на разделения логики от представляения скорее всего нет и близко. смарти не дает нормальной возможности это осуществлять. почти на каждый чих надо править php-код, а не шаблон.



Страницы: 1 вся ветка

Текущий архив: 2009.06.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
4-1210672933
Nil
2008-05-13 14:02
2009.06.14
Прочитать состояние вывода LPT порта через usbprint.sys


2-1240577886
гранит
2009-04-24 16:58
2009.06.14
Вопрос


15-1239092112
Cobalt
2009-04-07 12:15
2009.06.14
Установка JEDI


3-1222175692
SergP
2008-09-23 17:14
2009.06.14
Oracle. Insert


15-1239175665
Usov
2009-04-08 11:27
2009.06.14
Проблема отображения на сервере параметров с POST запроса