Шаблонізатор — це програмне забезпечення, призначене для поєднання шаблонів із моделлю даних для створення результативних документів.Мова, якою написані шаблони, знана як мова шаблону. Ціллю цієї статті є результативний документ — це будь-який вид відформатованої вихідної інформації, у тому числі документи, вебсторінки або вихідний код (у генерації вихідного коду), цілком або фрагментами. Шаблонний рушій зазвичай включається як частина системи вебшаблонів або схеми додатків, і може використовуватися також як препроцесор або фільтр.
Типові функції
Шаблонні двигуни, як правило, включають функції, загальні для більшості мов програмування високого рівня, з акцентом на функції для обробки звичайного тексту.
Такі функції включають:
- змінні та функції
- заміна тексту
- файл включення (або вставки)
- умовна оцінка та цикли
Вбудовані шаблонні рушії
Хоча процесори шаблонів, як правило, є окремим програмним забезпеченням, яке використовується як частина системи або основи, прості шаблонні мови зазвичай включаються до функцій обробки рядків мов програмування загального призначення та в програмах обробки текстів, зокрема текстовий редактор. Мова шаблонів, як правило, є простою мовою для заміни, на відміну від більш складних об'єктів у повноцінних процесорних шаблонах, але може містити певну логіку.
Прості приклади включають в себе рядки формату printf, знайдені на багатьох мовах програмування, та фрагменти, знайдені в ряді текстових редакторів і у редакторі вихідного коду. У текстових процесорах шаблони є загальною функцією, тоді як автоматичне заповнення шаблонів часто називають злиттям пошти.
Ілюстративним прикладом додаткового характеру аналізу та шаблона є команда s
(substitute — заміна) в текстовому процесорі sed, що походить від пошуку і заміни в текстовому редакторі. Команди заміщення мають форму s / regexp / replacement /
, де regexp
— це регулярне вираження, для обробки введення та replacement
являє собою простий шаблон для виводу, або буквальний текст, або рядок формату, що містить символи &
для «всього матчу» або спеціальна керівна послідовність \ 1
через \ 9
для nth підкласу. Наприклад, s / (cat | dog) s? / \ 1s / g
замінює всі випадки «кішка» або «собака» на «кішки» або «собаки» без дублювання наявних ": (cat | dog)
— це 1-е (і тільки) підречення в regexp, а \ 1
в рядку формату замінює це на вихід.
Системні елементи
Усі системи обробки шаблонів складаються з принаймні цих основних елементів:
- асоційована модель даних;
- один або декілька шаблонів джерел;
- процесор або шаблон рушія;
- генерується висновок у вигляді результатів документів.
Модель даних
Це може бути реляційна база даних, вихідний файл, такий як XML, альтернативний формат плоскої файлової бази даних, електронна таблиця або будь-яке інше різноманітне джерело попередньо відформатованих даних. Деякі системи обробки шаблонів обмежені типом даних, які можуть бути використані. Інші призначені для максимальної гнучкості та дозволяють використовувати різні типи даних.
Шаблон джерела
Шаблони джерел традиційно вказані:
- відповідно до існуючої мови програмування;
- відповідно до спеціально визначеної мови шаблону;
- відповідно до особливостей хостингової програми; або
- відповідно до гібридної комбінації деяких або всіх перерахованих вище.
Шаблон рушія
Шаблон рушія відповідає за:
- підключення до моделі даних;
- обробка коду, вказаного в шаблонах джерела; і
- спрямування виводу на конкретний конвеєр, текстовий файл або потік.
Крім того, деякі рушії шаблонів дозволяють додаткові параметри конфігурації.
Використання
Обробка шаблонів використовується в різних контекстах для різних цілей. Конкретна мета зазвичай залежить від використання програмного забезпечення або шаблонного рушія. Проте гнучкість систем обробки шаблонів часто дозволяє нетрадиційне використання для цілей, які спочатку не били призначені оригінальними дизайнерами.
Шаблон рушія
Шаблонний рушій — це специфічний модуль обробки шаблонів, який демонструє всі основні характеристики сучасної мови програмування. Термін «рушій шаблону» розвивався як узагальнений опис мов програмування, основною або винятковою метою якого було обробляти шаблони та дані для виведення тексту. Використання цього терміну найчастіше застосовується до веброзробки за допомогою системи вебшаблонів, а також застосовується до інших контекстів.
Створення документа
Рамки для створення документів зазвичай використовують обробку шаблонів як центральну модель для створення документів.
Створення вихідного коду
Інструменти створення вихідного коду підтримують генерацію вихідного коду (як результат документів) з абстрактних моделей даних (наприклад: UML, реляційних даних, корпоративних даних для домену) для конкретних доменів додатків, окремих організацій або для спрощення виробничого процесу програмістів.
Програмне забезпечення
Вебшаблон рушія обробляє вебшаблони та вихідні дані (як правило, з реляційної бази даних) для створення одного або декількох вихідних вебсторінок або фрагментів сторінки. Він зазвичай включається як частина системи вебшаблонів або як додаток фреймворка. На даний час програмне забезпечення для обробки шаблонів найчастіше використовується в контексті веброзробки.
Порівняння
XSLT — це модель обробки шаблонів, розроблена W3C. Вона призначена в першу чергу для перетворень даних XML (у вебдокумент або інший вихід).
Такі мови програмування, як Python, PHP, Ruby, C #, Java підтримують обробку шаблонів як спочатку, так і через додані бібліотеки та модулі. JavaServer Pages , Active Server Pages , Genshi (для Python), та eRuby — це приклади двигунів шаблонів, розроблені спеціально для розробки вебдодатків.
Крім того, обробка шаблонів іноді включається як підфункція програмних пакетів, таких як текстові редактори, IDE та системи керування реляційними базами даних.
Переваги використання шаблонних рушіїв
- заохочує організацію вихідного коду в оперативно-окремі шари (див., наприклад, MVC)
- підвищує продуктивність, зменшуючи непотрібне відтворення зусиль
- покращує колективну роботу, дозволяючи розділити роботу на основі набору навичок (наприклад, художні та технічні)
Примітки
- Niemeyer, Patrick (2002). Learning Java. Sebastopol: O'Reilly. ISBN .
- Manolescu, Dragos (2006). Pattern Languages of Program Design 5. Reading: Addison-Wesley Professional. ISBN .
- Fowler, Martin (2003). Patterns of Enterprise Application Architecture. Boston: Addison-Wesley. ISBN .
- (see e.g., Velocity, TemplateToolkit, Freemarker).
- JavaServer Pages is a technology released by Sun for use with the Java programming language.. 10 жовтня 2006. Архів оригіналу за 26 червня 2012. Процитовано 10 жовтня 2006.
- ASP 1.0 was originally released for use with Microsoft VBScript and JScript. It was an extension to Microsoft IIS.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Shablonizator ce programne zabezpechennya priznachene dlya poyednannya shabloniv iz modellyu danih dlya stvorennya rezultativnih dokumentiv Mova yakoyu napisani shabloni znana yak mova shablonu Cillyu ciyeyi statti ye rezultativnij dokument ce bud yakij vid vidformatovanoyi vihidnoyi informaciyi u tomu chisli dokumenti vebstorinki abo vihidnij kod u generaciyi vihidnogo kodu cilkom abo fragmentami Shablonnij rushij zazvichaj vklyuchayetsya yak chastina sistemi vebshabloniv abo shemi dodatkiv i mozhe vikoristovuvatisya takozh yak preprocesor abo filtr Diagrama sho ilyustruye vsi osnovni elementi ta obrobku potoku shablonnogo dviguna Tipovi funkciyiShablonni dviguni yak pravilo vklyuchayut funkciyi zagalni dlya bilshosti mov programuvannya visokogo rivnya z akcentom na funkciyi dlya obrobki zvichajnogo tekstu Taki funkciyi vklyuchayut zminni ta funkciyi zamina tekstu fajl vklyuchennya abo vstavki umovna ocinka ta cikliVbudovani shablonni rushiyiHocha procesori shabloniv yak pravilo ye okremim programnim zabezpechennyam yake vikoristovuyetsya yak chastina sistemi abo osnovi prosti shablonni movi zazvichaj vklyuchayutsya do funkcij obrobki ryadkiv mov programuvannya zagalnogo priznachennya ta v programah obrobki tekstiv zokrema tekstovij redaktor Mova shabloniv yak pravilo ye prostoyu movoyu dlya zamini na vidminu vid bilsh skladnih ob yektiv u povnocinnih procesornih shablonah ale mozhe mistiti pevnu logiku Prosti prikladi vklyuchayut v sebe ryadki formatu printf znajdeni na bagatoh movah programuvannya ta fragmenti znajdeni v ryadi tekstovih redaktoriv i u redaktori vihidnogo kodu U tekstovih procesorah shabloni ye zagalnoyu funkciyeyu todi yak avtomatichne zapovnennya shabloniv chasto nazivayut zlittyam poshti Ilyustrativnim prikladom dodatkovogo harakteru analizu ta shablona ye komanda s substitute zamina v tekstovomu procesori sed sho pohodit vid poshuku i zamini v tekstovomu redaktori Komandi zamishennya mayut formu s regexp replacement de regexp ce regulyarne virazhennya dlya obrobki vvedennya ta replacement yavlyaye soboyu prostij shablon dlya vivodu abo bukvalnij tekst abo ryadok formatu sho mistit simvoli amp dlya vsogo matchu abo specialna kerivna poslidovnist 1 cherez 9 dlya nth pidklasu Napriklad s cat dog s 1s g zaminyuye vsi vipadki kishka abo sobaka na kishki abo sobaki bez dublyuvannya nayavnih cat dog ce 1 e i tilki pidrechennya v regexp a 1 v ryadku formatu zaminyuye ce na vihid Sistemni elementiUsi sistemi obrobki shabloniv skladayutsya z prinajmni cih osnovnih elementiv asocijovana model danih odin abo dekilka shabloniv dzherel procesor abo shablon rushiya generuyetsya visnovok u viglyadi rezultativ dokumentiv Model danih Ce mozhe buti relyacijna baza danih vihidnij fajl takij yak XML alternativnij format ploskoyi fajlovoyi bazi danih elektronna tablicya abo bud yake inshe riznomanitne dzherelo poperedno vidformatovanih danih Deyaki sistemi obrobki shabloniv obmezheni tipom danih yaki mozhut buti vikoristani Inshi priznacheni dlya maksimalnoyi gnuchkosti ta dozvolyayut vikoristovuvati rizni tipi danih Shablon dzherela Shabloni dzherel tradicijno vkazani vidpovidno do isnuyuchoyi movi programuvannya vidpovidno do specialno viznachenoyi movi shablonu vidpovidno do osoblivostej hostingovoyi programi abo vidpovidno do gibridnoyi kombinaciyi deyakih abo vsih pererahovanih vishe Shablon rushiya Shablon rushiya vidpovidaye za pidklyuchennya do modeli danih obrobka kodu vkazanogo v shablonah dzherela i spryamuvannya vivodu na konkretnij konveyer tekstovij fajl abo potik Krim togo deyaki rushiyi shabloniv dozvolyayut dodatkovi parametri konfiguraciyi VikoristannyaObrobka shabloniv vikoristovuyetsya v riznih kontekstah dlya riznih cilej Konkretna meta zazvichaj zalezhit vid vikoristannya programnogo zabezpechennya abo shablonnogo rushiya Prote gnuchkist sistem obrobki shabloniv chasto dozvolyaye netradicijne vikoristannya dlya cilej yaki spochatku ne bili priznacheni originalnimi dizajnerami Shablon rushiya Shablonnij rushij ce specifichnij modul obrobki shabloniv yakij demonstruye vsi osnovni harakteristiki suchasnoyi movi programuvannya Termin rushij shablonu rozvivavsya yak uzagalnenij opis mov programuvannya osnovnoyu abo vinyatkovoyu metoyu yakogo bulo obroblyati shabloni ta dani dlya vivedennya tekstu Vikoristannya cogo terminu najchastishe zastosovuyetsya do vebrozrobki za dopomogoyu sistemi vebshabloniv a takozh zastosovuyetsya do inshih kontekstiv Stvorennya dokumenta Ramki dlya stvorennya dokumentiv zazvichaj vikoristovuyut obrobku shabloniv yak centralnu model dlya stvorennya dokumentiv Stvorennya vihidnogo kodu Instrumenti stvorennya vihidnogo kodu pidtrimuyut generaciyu vihidnogo kodu yak rezultat dokumentiv z abstraktnih modelej danih napriklad UML relyacijnih danih korporativnih danih dlya domenu dlya konkretnih domeniv dodatkiv okremih organizacij abo dlya sproshennya virobnichogo procesu programistiv Programne zabezpechennya Vebshablon rushiya obroblyaye vebshabloni ta vihidni dani yak pravilo z relyacijnoyi bazi danih dlya stvorennya odnogo abo dekilkoh vihidnih vebstorinok abo fragmentiv storinki Vin zazvichaj vklyuchayetsya yak chastina sistemi vebshabloniv abo yak dodatok frejmvorka Na danij chas programne zabezpechennya dlya obrobki shabloniv najchastishe vikoristovuyetsya v konteksti vebrozrobki PorivnyannyaXSLT ce model obrobki shabloniv rozroblena W3C Vona priznachena v pershu chergu dlya peretvoren danih XML u vebdokument abo inshij vihid Taki movi programuvannya yak Python PHP Ruby C Java pidtrimuyut obrobku shabloniv yak spochatku tak i cherez dodani biblioteki ta moduli JavaServer Pages Active Server Pages Genshi dlya Python ta eRuby ce prikladi dviguniv shabloniv rozrobleni specialno dlya rozrobki vebdodatkiv Krim togo obrobka shabloniv inodi vklyuchayetsya yak pidfunkciya programnih paketiv takih yak tekstovi redaktori IDE ta sistemi keruvannya relyacijnimi bazami danih Perevagi vikoristannya shablonnih rushiyivzaohochuye organizaciyu vihidnogo kodu v operativno okremi shari div napriklad MVC pidvishuye produktivnist zmenshuyuchi nepotribne vidtvorennya zusil pokrashuye kolektivnu robotu dozvolyayuchi rozdiliti robotu na osnovi naboru navichok napriklad hudozhni ta tehnichni PrimitkiNiemeyer Patrick 2002 Learning Java Sebastopol O Reilly ISBN 0 596 00285 8 Manolescu Dragos 2006 Pattern Languages of Program Design 5 Reading Addison Wesley Professional ISBN 0 321 32194 4 Fowler Martin 2003 Patterns of Enterprise Application Architecture Boston Addison Wesley ISBN 0 321 12742 0 see e g Velocity TemplateToolkit Freemarker JavaServer Pages is a technology released by Sun for use with the Java programming language 10 zhovtnya 2006 Arhiv originalu za 26 chervnya 2012 Procitovano 10 zhovtnya 2006 ASP 1 0 was originally released for use with Microsoft VBScript and JScript It was an extension to Microsoft IIS