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
Форумы портала PHP.SU :: Версия для печати :: TCodes - маленький и расширяемый шаблонизатор
Форумы портала PHP.SU » » CMS и фреймворки » TCodes - маленький и расширяемый шаблонизатор

Страниц (1): [1]
 

1. Awilum - 02 Мая, 2011 - 14:23:15 - перейти к сообщению
Делаю вот такой шаблонизатор для своей CMS.
PHP приложение с TCodes выглядит так:

Simple php application
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.     // Include TCodes
  4.     include 'tcodes/TCodes.php';
  5.  
  6.     // Add new tcode
  7.     addTCode('message','Hello world!');
  8.  
  9.     // Adding Dynamic Data
  10.     $vars['admin'] = true;
  11.     $vars['username'] = 'Username';    
  12.  
  13.     // Loading a Template
  14.     template('templates/page.php',$vars);
  15. ?>
  16.  


Simple template
PHP:
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4.     <title>Simple template</title>
  5. </head>
  6. <body>
  7.     {if:$admin}
  8.         {echo:$username}
  9.     {end}
  10.     <p>{message}</p>
  11. </body>
  12. </html>
  13.  
  14.  


Почитать доку по шаблонизатору и скачать последнюю версию можно на сайте:

http://tcodes[dot]template-cms[dot]org/

Ожидаемая обратная связь: критика, советы, предложения.
2. Ch_chov - 02 Мая, 2011 - 17:47:58 - перейти к сообщению
Зачем нужен еще один мета язык?
Чем
PHP:
скопировать код в буфер обмена
  1. {if:$admin}
  2.         {echo:$username}
  3.     {end}

лучше
PHP:
скопировать код в буфер обмена
  1. <? if($admin): ?>
  2.        <?= $username ?>
  3. <? endif; ?>
3. Awilum - 02 Мая, 2011 - 19:19:02 - перейти к сообщению
Ch_chov Переформулирую ваш пример правильно!

Вот так выглядит PHP как шаблонизатор в шаблонах
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.   <?php if($admin) { ?>
  3.         <?php echo $username; ?>
  4.     <?php } ?>
  5.  
4. OrmaJever - 02 Мая, 2011 - 20:37:43 - перейти к сообщению
Awilum пишет:
Переформулирую ваш пример правильно!

А чем у Ch_chov пример не правельный? Я например тоже его подержую, зачем писать ещё псевдо языка на php?
(Добавление)
И всётаки я скачал ваш шаблонизатор и немного удивился, я ожидал увидеть один или несколько класов для работы, но там одни функции, а такие строки окончательно удивили
PHP:
скопировать код в буфер обмена
  1. global $tcodes, $tag_start, $tag_end, $allow_php_tag;

Знаете сколько драгоценого времени уходит на поиск каждой переменой в скрипте?
5. Awilum - 02 Мая, 2011 - 21:33:32 - перейти к сообщению
мля exbb жгет. то тема потерялась то поиск тупо не может найти и валит пути хостинга при поиске.

Цитата:
И всётаки я скачал ваш шаблонизатор и немного удивился, я ожидал увидеть один или несколько класов для работы, но там одни функции, а такие строки окончательно удивили

SMF, PHPBB, да и этот же exBB у них не так дела ?

Цитата:
А в php можно записать так: <?=$x?>

не работает. лезть на каждом сервере и включать шорт-теги специально для шаблона с такими тегами ?
6. Alex_pac - 02 Мая, 2011 - 23:56:31 - перейти к сообщению
Awilum

вы тут тоже ? Подмигивание
7. Awilum - 03 Мая, 2011 - 21:37:48 - перейти к сообщению
Alex_pac да)) мне нужны фидбеки, а то самому не протестить всё, да и критика и советы не помешают)
8. OrmaJever - 03 Мая, 2011 - 22:00:20 - перейти к сообщению
Awilum пишет:
SMF, PHPBB, да и этот же exBB у них не так дела ?

smf не знаю а вот у phpbb совсем по другому, а у exbb 1 класс ядра и функций там минимум
9. Haron - 03 Мая, 2011 - 22:23:15 - перейти к сообщению
Самый лучший шаблонизатор в мире:

PHP:
скопировать код в буфер обмена
  1. $stream = fopen($file, 'r');
  2. $page = fread($stream, 'EOF');
  3. ......
  4. ......
  5. $page = str_replace($template_var_9000, $assigning_var_9000, $page);
  6. $page = str_replace($template_var_9001, $assigning_var_9001, $page);
  7. ......
  8. ......
  9. echo $page;
  10. fclose($stream);


Лучше него - только сам php!
Радость

 

Powered by ExBB FM 1.0 RC1