Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.06.14;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.004 c
15-1239274951
Гектор
2009-04-09 15:02
2009.06.14
Почему не работает функция sql


15-1239121494
theAddon
2009-04-07 20:24
2009.06.14
Помогите написать небольшую программку


2-1240752585
xyz
2009-04-26 17:29
2009.06.14
Как пользоваться unzdll.dll


2-1240836697
Student
2009-04-27 16:51
2009.06.14
Область видимости???


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский