Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Smarty 2 vs 3, С чем работать? 
:(
    Опции темы
Muerto
Дата 4.3.2011, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: нет
Всего: 4



Захотелось в свой фреймворк добавить шаблонизатор...

Я вот думаю 2 или 3 добавить.

Что то народ плохо отзывается о smarty 3... Кто что скажет , подскажет?


--------------------
user posted image
PM MAIL   Вверх
gta4kv
Дата 4.3.2011, 02:22 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



юзай нативный 
PM MAIL   Вверх
SneG0K
Дата 4.3.2011, 07:07 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: нет
Всего: 54



Цитата(gta4kv @  4.3.2011,  01:22 Найти цитируемый пост)
юзай нативный  

Во во!
PM WWW Skype   Вверх
Muerto
Дата 4.3.2011, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: нет
Всего: 4



gta4kv, А что имеется ввиду под нативным?
Свой построить?


--------------------
user posted image
PM MAIL   Вверх
gta4kv
Дата 4.3.2011, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



Под нативным имеется введу использовать встроенные возможности PHP. smile
PM MAIL   Вверх
Muerto
Дата 4.3.2011, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: нет
Всего: 4



gta4kv, Ну можно конечно, по сути дела Php уже шаблонный язык...

Но Smarty очень популярен + оч элегантное решение...

В самом смарти я особо минусов не вижу...

Производительность... ну Hello world без смарти выходит гдет 0.005-0.0005 секунд, со смарти  0.02 когда уже откомпилировал шаблон...

Что собственно не существенно 


--------------------
user posted image
PM MAIL   Вверх
MoLeX
Дата 4.3.2011, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: нет
Всего: 140



Цитата(Muerto @  4.3.2011,  12:20 Найти цитируемый пост)
Но Smarty очень популярен

на это не надо основываться.


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Muerto
Дата 4.3.2011, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: нет
Всего: 4



MoLeX А какие могут быть минусы? я конечно могу через класс переменных и export за 5 минут "шаблонизатор" сделать...
Но Smarty эт уже стандарт... как не наймуть что то делать, почти всегда встречаю Smarty

Почта что вы высказались как бы против Smarty, но кроме как совета использовать просто php , каких то мнений против Smarty и тп я не услышал, а хотелось бы...

У меня есть моделы, есть контроллеры, но с VIEW в MVC я не определился, 
Есть вот и такой список http://www.webresourcesdepot.com/19-promis...mplate-engines/


--------------------
user posted image
PM MAIL   Вверх
MoLeX
Дата 5.3.2011, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: нет
Всего: 140



Цитата(Muerto @  4.3.2011,  16:10 Найти цитируемый пост)
Но Smarty эт уже стандарт

 smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
solenko
Дата 5.3.2011, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: нет
Всего: 67



Muerto
минусы лисно для меня в версии 2.х невозможно написать нечто вроде,
Код

$item->getCategory()->getName();

 а тройку, когда последний раз смотрел, не рекомендовали для prod.

Кроме того наталкивался на "а вот так оно не работает, но вот если тут добавить пробельчик, то отработает нормально".
В итоге smarty -- еще один слой, который не добавляет возможностей (копей по поводу шаблонизатор/plain php view сломано множество). А каждый новый слой усложняет систему и вносит место для потенциальных багов.


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
SneG0K
Дата 5.3.2011, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: нет
Всего: 54



Muerto, у тебя реальная необходимость в смарти есть?
Цитата(Muerto @  4.3.2011,  11:20 Найти цитируемый пост)
ну Hello world без смарти выходит гдет 0.005-0.0005 секунд, со смарти  0.02 когда уже откомпилировал шаблон...

Все-го то! И это без логики!

Давайте опишем все плюсы и минусы смарти! Что вам дает смарти? Что не дает? Его проблемы? Что будет есть его использовать? Что будет если его не использовать? Где его использовать? Когда уместно? Когда не уместно? И т.д.

+ - это плюс
0 - это нейтральная сторона
- - это минус
Ваш кеп!

Я начну:
+ Верстальщикам легче разобраться со смарти
0 Если верстальщик умеет натягивать свои шаблоны на Joomly и иже с ними, то ему плевать на первый плюс
-  Часто в шаблонах приходится использовать сложную логику отображения, которую на смарти не всегда удобно писать
-  Часто приходится использовать процедуры и функции в шаблонах (Например процедура __('user.login'), которая выдает перевод для строчки user.login), что на смарти можно сделать только trought ass
+ У смарти большое комьюнити
- Комьюнити ничего не делает
- Лишняя нагрузка
+ Удобный синтаксис
0 Если использовать short_tags, то синтаксис не сильно легче нативному.

Это сообщение отредактировал(а) SneG0K - 5.3.2011, 15:41
PM WWW Skype   Вверх
Muerto
Дата 5.3.2011, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: нет
Всего: 4



Ну а допустим если не смарти?

То что посоветуйте?

или взять тупо <?=;?> и extract и счастье полные штаны?

Хотя можно и так конечно, но инклуды нужны, наследие и тп =-)

Код

public function set($key, $value) {
    $this->values[$key] = $value;
}
 
public function output() {
    if (!file_exists($this->file)) {
        return "Error loading template file ($this->file).<br />";
    }
    $output = file_get_contents($this->file);
 
    foreach ($this->values as $key => $value) {
        $tagToReplace = "[@$key]";
        $output = str_replace($tagToReplace, $value, $output);
    }
 
    return $output;
}



Это сообщение отредактировал(а) Muerto - 5.3.2011, 23:54


--------------------
user posted image
PM MAIL   Вверх
Muerto
Дата 6.3.2011, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: нет
Всего: 4



В общем я решил пока остановиться на Twig, по benchmarkам чистый 2.7  твиг 3 смарти 16, (не помню чего мерели) но в общем он шустр
А главное синтакс почти такой же можно задать

Это сообщение отредактировал(а) Muerto - 6.3.2011, 00:58


--------------------
user posted image
PM MAIL   Вверх
Shogun
Дата 7.3.2011, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: нет
Всего: 11



Цитата

Ну а допустим если не смарти?

То что посоветуйте?

Можно свой простой написать с самым необходимым, тогда "и волк сыт и овцы целы" или как там.. ))
У CodeIgniter был простой и быстрый, можешь глянуть как там, но конечно норм его нарисовав.


Код

foreach ($this->values as $key => $value) {
        $tagToReplace = "[@$key]";
        $output = str_replace($tagToReplace, $value, $output);
    }

->
Код

$keys = array_keys($this->values);
$values = array_values($this->values);

function to_tag($k) { return '[@'.$k.']'; }
$keys = array_map('to_tag', $keys);

$output = str_replace($keys, $values, $output);


Это сообщение отредактировал(а) Shogun - 7.3.2011, 00:18


--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
SneG0K
Дата 7.3.2011, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: нет
Всего: 54



Да что вы привязались к этим шаблонизаторам?
Код

// Это шаблонизатор.
class myMegaTemplateEngine
{
    private $_vars = array();
    
    public function __get($name)
    {
        if (isset($this->_vars[$name])) {
            return $this->_vars[$name];
        }
        return null;
    }

    public function __set($name, $value)
    {
        $this->_vars[$name] = $value;
    }

    public function display($template)
    {
        include($template);
    }
}


Код

// Это шаблон
<h3>Hello, <?=$this->name;?></h3>


Код

// Это пример использования
$engine = new myMegaTemplateEngine();
$engine->name = "Вася";
$engine->display('myTemplate.html');


+ Можно использовать PHP-код внутри шаблона.
+ Ничего лишнего


PM WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Libraries | Следующая тема »


 




[ Время генерации скрипта: 0.1370 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.