Mr.M.I.T. Можно и макросы - каждый выбирает сам. Просто search & replace можно сделать по папке сразу и зареплейсить сразу кучу всего.
если есть тесты, которые покажут, что код не потерял работоспособность, и данные профилирования, которые покажут, что код не вышел за рамки метрик, то можно и попереписывать. можно посмотреть на код работы с исключениями?
Psih +1 к использованию php в качестве шаблонизатора. Осознание пришло после использования smarty, после просмотра двадцати шаблонизаторов разного рода, после написания двух-трех шаблонизаторов на php и одного на си. нет, php хороший шаблонизатор <?= $varname ?> - имхо достаточно в большинстве случаев
topas +1 тот-же путь к осознанию - правда я пока в отдельный ряд ставлю XSLT (может по незнанию ?) - не пробовал пока, тока теорию читал
Дело было вечером, делать было нечего. Написал следующее: Код (Text): <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="TemplateXml" type="TemplateXml"/> <xs:element name="area" type="area"/> <xs:element name="template" type="template"/> <xs:element name="param" type="param"/> <xs:element name="itemParam" type="itemParam"/> <xs:element name="reference" type="reference"/> <xs:complexType name="TemplateXml"> <xs:sequence> <xs:element name="area" type="area" /> </xs:sequence> </xs:complexType> <xs:complexType name="area"> <xs:sequence> <xs:element name="template" type="template" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> <xs:attribute name="name" type="xs:string"></xs:attribute> </xs:complexType> <xs:complexType name="template"> <xs:sequence> <xs:element name="param" type="param" maxOccurs="1" minOccurs="0"/> <xs:element name="content" type="xs:string" maxOccurs="1" minOccurs="1"/> <xs:element name="functions" type="functions" maxOccurs="1" minOccurs="0"></xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"></xs:attribute> </xs:complexType> ... Использовал для создания xml-шаблона: Код (Text): ... <template name="drawArticle"> <param> <item name="article"> <reference name="id" field="id"/> <reference name="title" field="title"/> <reference name="text" field="text" modifiers="html|nl2br" /> <reference name="date" field="date" modifiers="date" /> </item> </param> <content><![CDATA[ <h1>{@title}</h1> <div class='article'> {@text} </div> ]]></content> </template> ... Преимуществ использования схемы не увидел в принципе (кроме автоподстановки в eclipse значений) Так что одно из двух: либо я дурак и просто не правильно/не по назначению использую технологию, либо это чушь вздор и бесполезная ерунда для шаблонизатора
ну вообщем да - наверное действительно изврат - максимум чего могу придумать - это независимость от движка и языка, но как-то звучит совсем неубедительно, разве что вне языковой стандарт ? в общем в пхп , пхп и есть
Так и есть. Все остальное накладно достаточно накладно: преобразование в xml, сама шаблонизация ресурсоемки, xsl содержит много "мусора". Хотя там есть и некоторые прелести, которых нет в нативном php, но ведь можно и свои функции дописать и использовать совместно с нативным php.
topas пхп и так текстовый процессор, зачем на него вещать ещё один? эти вещи придуманы были не для пхп