ФорумПрограммированиеPHP для идиотовРасширения PHP → Smarty и кто его использует

Smarty и кто его использует

  • chuwy

    Сообщения: 5 Репутация: N Группа: Кто попало

    Spritz 23 февраля 2008 г. 13:55

    Я и раньше знал про Smarty, но использовать начал только с сегоднешнего дня.
    Вот просто интересно стало… если это действительно такая мега-супер-штука, почему её не используют в популярных приложениях, типа там drupal, mediawiki или joomla?
    И вообще что я теряю от её использования кроме пары Кб на жестком диске?
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 23 февраля 2008 г. 14:02, спустя 7 минут 5 секунд

    что я теряю

    время, потраченное на загрузку страницы

    смарти дейтвительно тормоз, но для большинства стандартных, ненагруженных проектов пойдёт
    все умрут, а я изумруд
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 23 февраля 2008 г. 14:07, спустя 4 минуты 57 секунд

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

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 23 февраля 2008 г. 18:54, спустя 4 часа 47 минут 50 секунд

    А что посоветуете использовать? Или писать свой шаблонизатор под конкретный проект (имеется в виду если проект более-менее большой и нагруженный)?
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 24 февраля 2008 г. 0:10, спустя 5 часов 15 минут 36 секунд

    мб нативные шаблоны?
    все умрут, а я изумруд
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 24 февраля 2008 г. 1:37, спустя 1 час 26 минут 42 секунды


    А что посоветуете использовать? Или писать свой шаблонизатор под конкретный проект (имеется в виду если проект более-менее большой и нагруженный)?

    Blitz
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 24 февраля 2008 г. 5:48, спустя 4 часа 10 минут 57 секунд

    Спасибо, почитал :) Склоняюсь к нативным шаблонам.
  • chuwy

    Сообщения: 5 Репутация: N Группа: Кто попало

    Spritz 24 февраля 2008 г. 6:30, спустя 42 минуты 11 секунд

    Насчёт его тормознутости… а как же "компилируемый код"? Ведь как я понимаю он переделывает свои шаблоны в нативный PHP-код и после первого раза отображает только их, нет?
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 24 февраля 2008 г. 7:50, спустя 1 час 19 минут 54 секунды


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

    Соответственно три нативных шаблона:
    head.php
    article.php
    footer.php

    Центральный скрипт сайта имеет код:


    include('templates/head.php');
    if (мы находимся в разделе статья)
    {
    $article = Извлекаем из БД заголовок и текст статьи;
    include('templates/article.php');
    }
    else
    {
    обрабатываем разделы сайта с другой логикой
    }
    include('templates/footer.php');


    Все, красиво, только не плохо бы сформировать еще <title> с заголовком статьи, который увы … оказался в шаблоне head.php.

    Твой подход, при использовании нативных шаблонов?
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 24 февраля 2008 г. 8:04, спустя 14 минут 23 секунды

    так а сначала надо бы все данные сформировать, а только потом инклюдить шаблон…
    все умрут, а я изумруд
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 24 февраля 2008 г. 8:09, спустя 5 минут 5 секунд

    Ну предложи код …
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 24 февраля 2008 г. 8:20, спустя 10 минут 28 секунд

    че сразу код )

    шаблон-то

    header.php

    <title><?php if (isset($tpl['title'])) print $tpl['title']; else print 'стандартный тайтл'; ?></title>


    вот мы и формируем сначало массив $tpl (или объект… кому как)
    а потом подключаем шаблон
    все умрут, а я изумруд
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 24 февраля 2008 г. 9:08, спустя 48 минут 44 секунды


    header.php

    Угу … header.php уже вырос из банального
    <title><?= $title ?></title>
    в достаточно сложную конструкцию.


    вот мы и формируем сначало массив $tpl (или объект… кому как)
    а потом подключаем шаблон

    Все-таки хотелось бы понять, как будет выглядеть код центрального скрипта.

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

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 24 февраля 2008 г. 9:16, спустя 7 минут 50 секунд

    центральный скрипт анализирует урл и то, что ему надо сделать, делает это, собирает данные в $TPL а потом подключает шаблон, в котором этот $TPL и используется.
    у меня так работает 2 сайта и очень хорошо, я даже не представляю, что бы было на смарти ) а блитца нету возможности пока поставить

    а что базовая архитектура.. mvc он и есть, обрабатываем урл, собираем выходные данные и передаём во вьюха, где они разукрашиваются
    все умрут, а я изумруд
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 24 февраля 2008 г. 9:17, спустя 59 секунд

    Угу … header.php уже вырос из банального
    <title><?= $title ?></title>
    в достаточно сложную конструкцию.


    AlexB, ну давай на примере, чтоли…
    все умрут, а я изумруд

Пожалуйста, авторизуйтесь, чтобы написать комментарий!