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 :: TCodes - маленький и расширяемый шаблонизатор
Покинул форум
Сообщений всего: 44
Дата рег-ции: Янв. 2011 Откуда: Russian Federation
Помог: 0 раз(а)
Эту тему почему то снесли без всяких объяснений.
Не ну может кому то и нравится писать правильно так: <?php echo $x; ?>
В TCodes это можно записать так: {:$x}
Дока и либа: http://tcodes[dot]template-cms[dot]org/ (Добавление) TCodes 1.0.5
+ Реорганизованы папки...
+ Добавил возможность задавать свой вид тега $tag_start тег $tag_end
+ Возможность отключить php для шаблонов. $allow_php_tag = false;
+ Новый tcode {php:[ code here... ]}
+ Новый tcode {:$var} - короткое echo
+ Новый tcode {run:function()}
+ Захостил на [URL="https://bitbucket.org/Awilum/tcodes/changesets"]Битбакет[/URL]
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
Awilum пишет:
В TCodes это можно записать так: {:$x}
А в php можно записать так: <?=$x?>
Тема ваша вроде на месте.
Awilum
Отправлено: 02 Мая, 2011 - 21:29:10
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Янв. 2011 Откуда: Russian Federation
Помог: 0 раз(а)
Цитата:
А в php можно записать так: <?=$x?>
не работает. лезть на каждом сервере и включать шорт-теги специально для шаблона с такими тегами ?
Ch_chov
Отправлено: 02 Мая, 2011 - 21:49:17
Постоянный участник
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
Короткие теги в php.ini включены по умолчанию.
Но не в этом дело, даже если сравнивать ваш код с "длинным" php кодом <?php print $x ?>, что измениться? В чем преимущество?
Вот некоторые предпосылки чтобы задуматся:
1. PHP шаблон обрабатывается быстрей.
2. PHP шаблон не требует изучать еще один синтаксис.
3. Код PHP шаблонизатора на много проще.
Можете конечно сделать ваши шаблоны кэшируемыми/компилируемыми, раздуть шаблонизатор до масштабов smarty. Но тогда, сразу возникает вопрос. А чем ваш шаблонизатор лучше smarty и др.?
Awilum
Отправлено: 02 Мая, 2011 - 22:11:06
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Янв. 2011 Откуда: Russian Federation
Помог: 0 раз(а)
Цитата:
Короткие теги в php.ini включены по умолчанию.
да что вы такое говорите. рекомендуют не использовать шорт-теги так как это не кросплатформено, потому что не везде включены они. (Добавление)
Цитата:
Можете конечно сделать ваши шаблоны кэшируемыми/компилируемыми
он компилируемый изначально и парсится шаблон только если он не модифицирован или если не найден скомпилированный шаблон.
Мелкий
Отправлено: 03 Мая, 2011 - 09:04:44
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Awilum пишет:
да что вы такое говорите.
Да, включены по-умолчанию.
Вообще, тема "свой мета-язык шаблона или использование PHP непосредственно" - вполне холиварная, периодически возникает, но ни к чему не ведёт и все участники так и остаются при своих мнениях, как и положено холивару.
У обоих способов есть свои достоинства и недостатки.
----- PostgreSQL DBA
Awilum
Отправлено: 03 Мая, 2011 - 18:20:09
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Янв. 2011 Откуда: Russian Federation
In previous versions, we often recommended using short tags (<? and <?=), as they make the view scripts slightly less verbose. However, the default for the php.ini short_open_tag setting is typically off in production or on shared hosts -- making their use not terribly portable. If you use template XML in view scripts, short open tags will cause the templates to fail validation. Finally, if you use short tags when short_open_tag is off, the view scripts will either cause errors or simply echo PHP code back to the viewer.
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Awilum пишет:
узнайте наконец уже как правильно все таки:
а может на офф сайте более правы? http://www.php.net/manual/en/ini.core.php (Добавление) Awilum к критике нужно прислушиватся, а не спорить, мы же не хотим ничего плохого просто хотим направить на правельный путь.
Вот это тоже ненужная весч
Awilum пишет:
+ Новый tcode {php:[ code here... ]}
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Awilum
Отправлено: 03 Мая, 2011 - 21:34:12
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Янв. 2011 Откуда: Russian Federation
Помог: 0 раз(а)
OrmaJever
Неа вы неправильно поняли то что Зендовцы написали.
-------------------------------
In previous versions, we often recommended using short tags (<? and <?=), as they make the view scripts slightly less verbose. However, the default for the php.ini short_open_tag setting is typically off in production or on shared hosts -- making their use not terribly portable. If you use template XML in view scripts, short open tags will cause the templates to fail validation. Finally, if you use short tags when short_open_tag is off, the view scripts will either cause errors or simply echo PHP code back to the viewer.
--------------------------------
И дальше будете юзать шортеги ? Каждый хостер ставить php и настраивает как он хочет.
Критика использования шортегов вместо нормальной php записи, мде уж..
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Цитата:
Зачем нужен еще один мета язык?
Да, меня тоже всегда этот вопрос занимал. Что есть PHP - язык программирования (написанный на Си), который можно встроить в HTML. Что есть Smarty - язык программирования (написанный на PHP), который можно встроить в HTML. Если немного упростить: Smarty - PHP, написанный на PHP.
С использованием шаблонизатора я не смогу выполнить серверный php код какой мне захочится. Если я дам человеку сделать шаблон на каком либо шаблонизаторе, то он например не поломает мне приложение своим шаблоном.
evgenijj
Отправлено: 03 Мая, 2011 - 23:42:35
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Вы так и не ответили на вопрос - чем ваша реализация PHP лучше оригинальной реализации PHP. Как научить верстальщика программированию на PHP? А ведь потом его еще учить модели MVC. И еще многому...
С использованием шаблонизатора я не смогу выполнить серверный php код какой мне захочитсяв шаблоне Если я дам человеку сделать шаблон на каком либо шаблонизаторе, то он например не поломает мне приложение своим шаблоном.
Покинул форум
Сообщений всего: 197
Дата рег-ции: Июнь 2010 Откуда: Оттуда
Помог: 5 раз(а)
Раз речь зашла про достоинства и недостатки...
Интересуют достоинства и недостатки использования обеих способов.
Вот моя прикидка по теме, если есть что добавить - буду рад:
- Наглядный, простой и очевидный синтаксис шаблонов, позволяет создавать шаблоны людям - далёким от программирования, например дизайнерам.
- Однако, разбор шаблона требует процессорного времени, и возникает вопрос, а зачем ещё одно тормозящее звено?
- Но в то же время - контраргумент: Можно отдавать уже скомпилированный код шаблона (а он представляет из себя тот же самый быстрый Free PHP\Short Tags - код). А перекомпилировать - ТОЛЬКО тогда, когда изменился шаблон.
Вот мы и подошли к ГЛАВНОМУ
- Обвинять шаблонизаторы в "громоздкости" и "ещё одном синтаксисе" - не имеет смысла. Дизайнеру в результате не нужно знать PHP чтобы делать шаблоны на сайт. Это лишь инструмент для более удобной и быстрой разработки сайтов. А все вопросы скорости работы шаблонизатора - вполне решаемы при достаточно прямых руках.
Я считаю, что когда решают использовать Free PHP/Short Tags - программисты тупо забивают на преимущества и удобства, ради "скорости", и чтобы "не париццо, это-ж писать надо, думать".
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.