Ну и что, может кто-нибудь по человечески объяснит, как мне поменять видеокарту не открывая корпус? =)
dark-demon можно через вынутые заглушки пятидюймовых щелей %) мы так меняли, когда стенка боковая была запечатана напоминает вырывание гланд через задницу )
Hight Неверно в данном случае скорость работы шаблонизатора будет зависеть не от сложности алгоритма, а от количества и суммарного объема шаблонов. Для каждого запроса заново перелопатить 20-50 Кб текста в поисках спецтегов - это замедлит шаблонизатор, неважно, на чем он написан, неважно, много у него возможностей или мало. Горбунов Олег Я уже выше писал, что кешировать готовую страницу не надо. Надо кешировать разпарсенный шаблон. Когда работает компилятор, что он "кеширует"? Готовые данные или все-таки программный код? Вот и с шаблонизаторами так же.
Предположим: index.tpl: HTML: {{loop}} <b>{name}</b> {s_name}<br> {{/loop}} index.php: PHP: $tpl -> loop( array( 1 => array( 'name' = 'Вася' , 'sname' => 'Пупкин' ) , 2 => array( 'name' = 'Илья' , 'sname' => 'Петров' ) ) ); (Допустим данные о чуваках берутся с удалённого эскьюэл сервака и шаблонизатор не может знать, когда их станет больше) Результат: Вася Пупкин Илья Петров Что тут должен закешить шаблонизатор?
Горбунов Олег Если он просто переводит программу из одного языка в другой, исполняет ее и тут же забывает об этом, то никакой это не компилятор. Это интерпретатор. А у компиляторов (точнее, трансляторов) в роли "кеша" выступает программа в машинном коде (.exe), которую не надо каждый раз заново компилировать и тратить на это время. Danilka Что-то вроде: PHP: <?php foreach($items as $item) echo "<b>$item[name]</b>\r\n$item[sname]<br>\r\n"; Это в простейшем случае. А как вариант - то же самое, но в виде опкодов PHP.
А, то есть речь идёт фактически о подъёме на один уровень вверх. Откидывании шаблонизатора и обработке шаблона в последствии пыхом? Тогда может удобнее было бы передавать параметры не в шаблонизатор, а в какой-нибудь глобальный массив. Написать прогу, которая из удобного для дизайнеров шаблона генерила хтмлку с пхпшными вставками. (Не обязательно на пхп, можно даже просто под винду.) Ну кстати можно и на пыхе реализовать, если шаблоны в бд хранятся и через админку редактируются. А на сайт уже заливать пхпшные типо шаблоны, которые будут подгружаться? Я правильно мысль уловил? зы Как раз вчера натыкался на статью о том, что нахрен шаблоны, используем пых внутри хтмла. В результате получается, что мы компишируем шаблон не отдельным интерпретатором, а пыхом. НО! Чем же хуже, тот же блитз? Ведь он тоже на том же си написан. Заточен только под шаблоны, синтаксис более приемлемый и ничего перегенерять не нужно? Не спорю, конечно пых по быстрее будет в силу большей отточенности, ну а всё же?
Danilka На этот вопрос может ответить сам Блиц Самая нижняя полоска (PHP mess) - это и есть результат работы подобного компилятора шаблонов для PHP. Почему Блиц медленнее? Видимо, парсер там хуже, чем парсер в PHP.
Danilka И еще раз, чтобы не путать понятия. Пых работает с шаблоном в два этапа: 1) превращая исходный шаблон в его более удобный для обработки эквивалент, назовем его псевдокодом, и 2) обрабатывая псевдокод и собирая из него и исходных данных готовую страницу. Первый этап - относительно тормозной (нужен сложный парсинг шаблонов, проверка синтаксиса, сборка нескольких шаблонов в одну общую структуру и пр.), но это нас не волнует, ибо это действие выполняется один раз и результат (псевдокод) сохраняется в кеше. Второй этап - обычный include или eval, и работает он очень быстро, ибо никакой парсинг (кроме парсинга самого псевдокода, конечно) уже не нужен.
Danilka Чем он хуже, кроме того, что он медленнее и набор возможностей у него крайне ограничен? Да хотя бы тем, что для его поддержки нужно ставить дополнительное расширение для PHP. Не всякий хостер на это согласится. Кажется, мне пора отдохнуть от php.ru... :-D
Резонно, я правда собираюсь пользовать дедик, но аргумент в пользу перспективы разрабатываемого кода весомый. Что ж вам так кажется-то? По поводу предыдущего поста: А так пхп странички кешатся в любом случае или нужно включить какую-нибудь функцию?