Вы не зашли.
    
        
        
                        
                        #1.
            TLENS
                                                Off
                
                                                    (14)
                                                            
                        Moderator
                        2014.11.13 02:02
                                                
                                                        
 
                Вот только начал разрабатывать проект и столкнулся с выбором шаблонизатора.
Начал работать с твиг очень выручает наследование. Но это единственная причина почему я его взял. Уж сильно он тормознутый.
Вот нарыл пыховский шаблонизатор поддерживающий наследование 
http://phpti.com/. Но немного настораживает.
Так же пересматривал компонент шаблона из симфони. Но в доках phpEngine так и не нарыл как наследовать.
        
        
                
    
 
        
        
                да наследование сейчас уже все поддерживают, вроде.
мне не нравятся php-подобные шаблонизаторы типа этого phpti. слишком много возможностей выстрелить себе в ногу.
Добавлено спустя   1 минуту  27 секунд: я бы таки остановился на проверенных твиге или смарти. оба наследование поддерживают, оба имеют хорошую репутацию.
смарти недавно на гитхаб перешел, кстати.
        
        
                
    
 
        
        
                        
                        #3.
            TLENS
                                                Off
                
                                                    (14)
                                                            
                        Moderator
                        2014.11.13 11:11
                                                
                                                        
 
                Gemorroj написал:
php-подобные шаблонизаторы типа этого phpti. слишком много возможностей выстрелить себе в ногу
И я о том же.
Но с другой стороны. twig делает больше операций чем ввесь сайт.
Есть подозрения что для трехстраничника будет глупо использовать твиг.
К тому же кеширование не прокатит так как странички динамичные.
        
        
                
    
 
        
        
                Ну, для 3-х страничника тогда можно что попроще, хоть чистый php 

 или если поэксперементировать, то можно js шаблонизаторы порпобовать. Handlebars, например.
        
        
                
    
 
        
        
                        
                        #5.
            TLENS
                                                Off
                
                                                    (14)
                                                            
                        Moderator
                        2014.11.13 13:01
                                                
                                                        
 
                Gemorroj написал:
Handlebars, например
Глупости. А как же индексация, адаптивность к кирпичам и т.д.
У меня мой мейнсайт состоит из трех страничек. Главная, поиск и предосмотр. Ну там вообще велокоптер))
Есть абстрактный класс Педж  его наследуют такие как HTML а этого уже наследует VideoSearch например. Короче так же используется буферизация что то вроде 
Код:
| span style="color: #0000BB"><?phpob_start();include __DIR__ .'/../../_TEMPLATE/VideoSearch.php';$this->_content .= ob_get_clean(); | 
В общем сам класс хранит в себе все необходимое: тайтл, дескрипшен, заголовки и т.д.
В двух словах выглядит все ужасно.
        
        
                
    
 
        
        
                поисковики уже давно нормально парсят js. просто так чтоли гугель v8 пилит.
        
        
                
    
 
        
        
                        
                        #7.
            TLENS
                                                Off
                
                                                    (14)
                                                            
                        Moderator
                        2014.11.13 15:03
                                                
                                                        
 
                Gemorroj написал:
поисковики уже давно нормально парсят js. просто так чтоли гугель v8 пилит.
И все же я предпочитаю воздержатся
        
        
                
    
 
        
        
                        
                        #8.
            TLENS
                                                Off
                
                                                    (14)
                                                            
                        Moderator
                        2014.11.13 17:05
                                                
                                                        
 
                Сделал свой велосипед на основе phpti. Как тебе?
Шаблонизатор:
Код:
| span style="color: #0000BB"><?phprequire_once __DIR__ . '/../include/ti.php';function template($path, $_parameters = []) {    // Создаются переменные для прямого запроса из шаблона    foreach ($_parameters as $key=>$value)         ${$key} = $value;    // Убираем теперь ненужную переменную    unset($_parameters);    ob_start();        $ob_level = ob_get_level();    // Подключаем шаблон    include $path;        // сбрасываем накопившиеся внутри шаблона буферы    while(ob_get_level() > $ob_level)        ob_end_flush ();    // Вуаля    return ob_get_clean();} | 
Базовый шаблон "base.html.php":
Код:
| <!DOCTYPE html> | 
| <html> | 
|     <head> | 
|         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | 
|         <title><?=$title?></title> | 
|         <meta name="description" content="<?=$description?>" /> | 
|     </head> | 
|     <body> | 
|         <div class="content"> | 
|             <?emptyblock('content')?> | 
|         </div> | 
|     </body> | 
| </html> | 
Управляющий шаблон "home.html.php": 
Код:
| span style="color: #0000BB"><?php$title = htmlentities($video->title);$description = htmlentities($video->description);include __DIR__ . '/base.html.php';?><? startblock('content')?><h1><?=htmlentities($video->title)?></h1><p><?=htmlentities($video->description)?></p><? endblock() ?> | 
Пример использования:
Код:
| $content = template('../template/home.html.php', [ | 
|     'video'=>(object)[ | 
|             'title'=> "Видео \"тайтл\"", | 
|             'description' => "Видео \"Дескрипшен\"", | 
|         ] | 
|     ]); | 
|   | 
| highlight_string($content); | 
Результат:
Код:
| <!DOCTYPE html> | 
| <html> | 
|     <head> | 
|         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | 
|         <title>Видео "тайтл"</title> | 
|         <meta name="description" content="Видео "Дескрипшен"" /> | 
|     </head> | 
|     <body> | 
|         <div class="content"> | 
|             <h1>Видео "тайтл"</h1> | 
| <p>Видео "Дескрипшен"</p> | 
|         </div> | 
|     </body> | 
| </html> | 
Мне данный вариант очень понравился. Все понятно, быстро, и самое главное ПРОСТО. Так же не глобальная погрузка минимизировала возможность как ты говоришь "выстрелить себе в ногу".
        
        
                
    
 
Страниц: 1