Шаблонизатор своими руками

MasterSID

Новичок
Пользователь - посетитель сайта.
Вот именно что должен предусмотреть, а где гарантия, что все предусмотрел? Может в парсере есть ошибка? Рано или поздно их везде находят.
 

alexhemp

Новичок
master_x

да и вообще объясни мне, чем, синтаксис Smarty лучше/легче чем PHP
Я еще на первых страницах топика написал - это вкусовщина. Мне так больше нравится. Лучше тем, что конкретно мне позволяет быстрее разрабатывать сложные сайты и зарабатывать в итоге больше денег.

А чего ты решил что интерпретатор - это плохо - я не знаю.
Если внимательно прочесть топик то станет понятно что:

1. Smarty компилирует шаблоны в php-код - если посмотреть в него, станет ясно, что скомпилированные шаблоны мало чем отличаются от таких-же только написанных на PHP.
2. Акселлератор (Zend Accelerator, eAccelerator, IonCube и т.п.) КЭШИРУЕТ СКОМПИЛИРОВАННЫЙ БАЙТ-КОД.
PHP-скрипт всегда компилируется в байт-код, который потом исполняется. Если скрипт не был изменен, то он не компилируется, а байт-код берется из кэша (для самых частых скриптов - он вообще находится в памяти, его даже читать не надо). Это ускоряет работу раз в 5.

Байт-код конечно не ассемблер, но состоит из элементарных операций, которые интерпретируются быстро. Машинный код процессором тоже, кстати говоря - интерпретируется.

В итоге - потери от смарти - ничтожны. Как библиотека он предоставляет инфраструктуру для создания шаблонов.

Насчет того, что здравомыслящие используют библиотеки.
Если это было не так, все писали бы программы с полного нуля, в машинных кодах.
По моему - это нормально, использовать удачные библиотеки.
Я согласен, что есть задачи, в которых это не подходит, не нравится - не используй.

Этот топик не для доказательств - автор его просил высказать мнение - я высказал.
 

master_x

Pitavale XXI wieku
хорошо, извиняюсь, что спровоцировал, просто мне удобнее и быстрее писать без смарти, это мое мнение

-~{}~ 31.08.05 13:50:

да, кстати и автор топика уже выбрал для себя, что будет использовать. так что мир :)
 

Screjet

Новичок
MasterSID
Из практики: давным-давно так же как ты думал. Написал собственный шаблонизатор (очень примитивный), развивал по мере необходимости, в итоге получился аналог смарти :)
 

MasterSID

Новичок
Видимо не так думал, поскольку мой в развитие нуждаться не будет ибо будет использовать самый что не есть php код, а значит до смарти по определению дойти не может, т.к. смарти это интерпритатор.
 

MasterSID

Новичок
На сколько я знаю, компиляция - это перевод программы с языка высокого уровня в машинный язык
 

alexhemp

Новичок
MasterSID

Компиляция - это перевод с языка более "высокого" уровня, на язык более низкого. Основной признак компиляции - однократный перевод с одного языка на другой.

Относительно смарти можно сказать что он компилирует шаблоны в PHP код. В этом же смысле компилируются и регулярные выражения.
 

MasterSID

Новичок
я такой формулировки не встречал. Кстати сомневаюсь, что язык смарти более высокоуровневый, чем PHP, хотя спорить не буду.
 

kvf77

Red Devil
MasterSID

какой бред в этом топике - просто жуть - прямо собрание заблуждений какое-то
 

MasterSID

Новичок
лучше поконкретнее скажи, чем такие фразы ничего не говорящие писать.
 

alexhemp

Новичок
MasterSID

Хорошо - четкое определение

Компиляция — это процесс преобразования исходной программы в исполняемую.

Исходная программа - шаблон. Исполняемая - PHP скрипт.
 

MasterSID

Новичок
МОжет и так - спорить не буду. Просто в словарях яндекса слово компиляция везде задействовано как преобразование в мащинный код.
 

kvf77

Red Devil
MasterSID

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

ksnk

прохожий
alexhemp
В этом случае скорее подошел бы термин "трансляция",чем компиляция :)
MasterSID и яндекс в этом случае, кстати, формально прав :)
 

kvf77

Red Devil
ksnk
блин, формалисты - вы в словарь посмотрите! Как достало читать этот бред незнающих умников. Открываем словарь и что видим:

compilation [ ]
1) 2) пропускаем за ненадобностью

3) компиляция, трансляция clean compilation — безошибочная компиляция consistent compilation — согласованная компиляция knowledge compilation — компиляция знаний ( процедура перевода внешнего представления знаний в эффективное внутреннее представление )

Так достаточно?
 

MasterSID

Новичок
Автор оригинала: kvf77
MasterSID
интересный ты клиент - ищешь информацию не для того, чтобы повысить свой уровень знаний, а для того чтобы его намеренно не повышать - все ищешь доказательства неправоты других и споришь, вместо того, чтобы искать- а как же надо на самом деле - топик хоть и перевалил на третью страницу - не содержит в себе и грамма полезной информации - один бред - что-то у меня усталость накопилась от чтения всего этого бреда - надо передышку сделать...
Хе хе, в том-то и дело, что я ищу для того чтобы узнать и разобраться! Людям свойствено заблуждаться и искажать информацию, поэтому я кому-попало не доверяю.

Должна быть какая база, на которую нужно опираться, а не субъективные догадки на основе словаря lingvo или чего-то где-то когда-то услышанного.

А ищу доказательства неправоты других я дял того, чтобы самому не стать жертвой этой неправоты.

Яндекс отправил сюда: http://www.glossary.ru/cgi-bin/gl_sch2.cgi?RSwgtxr9yuw:
где черным по серому сказано, что трансляция это преобразование с одного языка в другой, а компиляция - с языка высокого уровня в машинный код.

С радостью погляжу другой источник.

Вот, что я еще поглядел:
http://www.thefreedictionary.com/compiling program
http://www.fda.gov/ora/inspect_ref/igs/gloss.html
 

kvf77

Red Devil
MasterSID
нет - ты не ищешь - ты дурью маешься и других таких же вокруг себя собираешь - сидите тут и хренью страдаете вместо дела

так и хочется тебе сказать простое "да пошел ты" и словарь ему не словарь и так далее - мальчик, ты больной? если тебе так не хочется никого слуашть, если это в тебе патологически - ты зачем на форум вылез?
 

alexhemp

Новичок
kvf77

Словари значительно беднее реальности. В жизни все иначе - реальность богаче словаря.

перевода внешнего представления знаний в эффективное внутреннее представление
А чем PHP - не эффективное внутреннее представление. У нас есть виртуальная машина выполняющая PHP код - PHP интерпретатор. Для нее самый эффективное представление - PHP код. По моему это очевидно.
"Компилятор" - это широкое понятие. Так-же как и "язык".

В любом случае это спор о терминологии, суть от этого не меняется.

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