Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 15.01.2013, 04:52   #1
SoftKoc
Форумчанин
 
Аватар для SoftKoc
 
Регистрация: 07.11.2009
Сообщений: 218
Репутация: 49

icq: 374349068
Радость Шаблонизация данных PHP

Здравствуйте уважаемые коллеги
Столкнулся вот с таким вопросом.
Такие шаблонизаторы как Smarty довольна таки медленные по отношению к большим проектам - пересмотрев много тем о шаблонизации данных, могу сказать что в большинстве случаев используют Smarty или что-то подобное. Для меня этот вариант не подходит из-за скорости шаблонизации. Подскажите пожалуйста альтернативные варианты которые были бы оптимальней в такой ситуации

Заранее очень благодарен
__________________
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности
SoftKoc вне форума   Ответить с цитированием
Старый 15.01.2013, 08:20   #2
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,132
Репутация: 875

icq: 303-206-418
skype: ad-soft.info
По умолчанию

написать свой
ADSoft вне форума   Ответить с цитированием
Старый 15.01.2013, 11:19   #3
buriat
Форумчанин
 
Регистрация: 28.06.2010
Адрес: Vilnius
Сообщений: 189
Репутация: 79
По умолчанию

Самый банальный способ
PHP код:
<?php
        
// Template.php
    
class Template {
        
        private 
$variables = array();
        private 
$template;
        private 
$template_folder;
        
        function 
__construct($template) {
            
$this->template_folder APP_PATH."/application/view/templates/";
            
$this->template $template;
        }
        
        public function 
setVar($var,$value) {
            
$this->variables[$var] = $value;
        }
        
        public function 
getHTML() {
            
extract($this->variables);
            
ob_start();
            require 
$this->template_folder.$this->template.".tpl.php";    
            
$content ob_get_clean();
            return 
$content;
        }
    }
    
?>
PHP код:
<!-- main_menu.tpl.php -->
<div id="main-menu">
    <ul>
        <?php foreach($menu_links as $link_data): ?>
            <li><a href="<?=APP_URL.$link_data['link_path']?>"><?=t($link_data['link_title'])?></a></li>
        <?php endforeach; ?>
    </ul>
</div>
PHP код:
<?php
    
// file.php
    
$menu_tpl = new Template('main_menu');
    
$menu_tpl->setVar('menu_links'get_menu_links('main_menu'));
    
$content $menu_tpl->getHTML();
    echo 
$content;
?>
Я не понимаю зачем пользоваться всякими smarty, если сам php предоставляет нормальные возможности шаблонизации. Шаблон на php выглядит совсем не хуже чем на том же smarty или подобных. Главное не переборщить и не внести в него лишний код.
buriat вне форума   Ответить с цитированием
Старый 16.01.2013, 05:06   #4
SoftKoc
Форумчанин
 
Аватар для SoftKoc
 
Регистрация: 07.11.2009
Сообщений: 218
Репутация: 49

icq: 374349068
Радость

Цитата:
Сообщение от buriat Посмотреть сообщение
Самый банальный способ
PHP код:
<?php
        
// Template.php
    
class Template {
        
        private 
$variables = array();
        private 
$template;
        private 
$template_folder;
        
        function 
__construct($template) {
            
$this->template_folder APP_PATH."/application/view/templates/";
            
$this->template $template;
        }
        
        public function 
setVar($var,$value) {
            
$this->variables[$var] = $value;
        }
        
        public function 
getHTML() {
            
extract($this->variables);
            
ob_start();
            require 
$this->template_folder.$this->template.".tpl.php";    
            
$content ob_get_clean();
            return 
$content;
        }
    }
    
?>
PHP код:
<!-- main_menu.tpl.php -->
<div id="main-menu">
    <ul>
        <?php foreach($menu_links as $link_data): ?>
            <li><a href="<?=APP_URL.$link_data['link_path']?>"><?=t($link_data['link_title'])?></a></li>
        <?php endforeach; ?>
    </ul>
</div>
PHP код:
<?php
    
// file.php
    
$menu_tpl = new Template('main_menu');
    
$menu_tpl->setVar('menu_links'get_menu_links('main_menu'));
    
$content $menu_tpl->getHTML();
    echo 
$content;
?>
Я не понимаю зачем пользоваться всякими smarty, если сам php предоставляет нормальные возможности шаблонизации. Шаблон на php выглядит совсем не хуже чем на том же smarty или подобных. Главное не переборщить и не внести в него лишний код.

Подобный я написал уже давненько. Я думал есть еще какие-то методы подхода
__________________
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности
SoftKoc вне форума   Ответить с цитированием
Старый 16.01.2013, 17:59   #5
MyXa
Форумчанин
 
Регистрация: 25.08.2010
Сообщений: 77
Репутация: 20
По умолчанию

А если юзать шаблонизатор XSLT ?
__________________
I have cheats!!!!
MyXa вне форума   Ответить с цитированием
Старый 16.01.2013, 19:57   #6
SoftKoc
Форумчанин
 
Аватар для SoftKoc
 
Регистрация: 07.11.2009
Сообщений: 218
Репутация: 49

icq: 374349068
Радость

Цитата:
Сообщение от MyXa Посмотреть сообщение
А если юзать шаблонизатор XSLT ?
Нужно попробовать, еще не пробовал
__________________
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности
SoftKoc вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
база данных с php chegivara PHP 1 11.09.2011 16:47
Передача данных с php в js Natysya PHP 1 26.05.2011 17:10
упорядочивание данных из БД php Dimarik PHP 3 20.08.2010 17:47
Передача данных php-скрипту mikhea PHP 8 26.06.2010 22:12




07:51.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
лучший хостинг
Выбираем лучший хостинг: рейтинг ТОП 10
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru