Smarty

Скріншот програми:
Smarty
Дані програми:
Версія: 3.1.5
Дата завантаження: 11 May 15
Розробник: New Digital Group, Inc.
Ліцензія: Безкоштовно
Популярність: 1

Rating: nan/5 (Total Votes: 0)

Smarty насправді не "Шаблон двигуна", це було б більш точно описано як "шаблон / Презентація Framework." Тобто, вона забезпечує програміста і дизайнера шаблону з багатством інструментів для автоматизації завдань, які зазвичай розглядаються в презентації шар додатки. Я підкреслюю слово Framework, тому що Smarty не простий тег-заміна механізм шаблонів. Хоча він може бути використаний для такого простого метою його увагу на швидкий і безболісний розробки і розгортання програми, зберігаючи високу продуктивність, масштабованість, безпеку і майбутнє зростання.
Так Smarty для вас? Що це зводиться до того, за допомогою правильного інструменту для роботи. Якщо ви хочете простий змінної заміну, ви можете подивитися на щось більш простий або навіть згорнути свій власний. Якщо ви хочете міцна основа шаблонів з численними інструментами, щоб допомогти вам, як ваш додаток розвивається в майбутньому, ймовірно, Smarty хороший вибір.
<Сильний> Навіщо використовувати його?
Один з Smartys цілей первинної дизайн для полегшення поділу коду програми від подання. Як правило, код програми містить бізнес-логіку програми, написані і підтримується в PHP коду. Цей код зберігається програмістами. Презентація чином, ваш контент представлений для кінцевого користувача, який написаний і підтримується в файлах шаблонів. Шаблони підтримуються дизайнерів шаблонів.
На самому основної функції, код додатку збирає контент, привласнює його механізму шаблонів і відображає його. Зміст може бути щось на зразок заголовок, слоган, автор і тіло газетній статті. Код програми не має ніякого відношення, як це зміст буде представлено в шаблоні. Шаблон дизайнер відповідає за виставу. Вони редагувати файли шаблону, додавши розмітку і доведення її до завершення. Це, як правило, включає в себе такі речі, як HTML-теги, каскадних таблиць стилів та інших інструментів, що надаються шаблону двигуна.
Ця парадигма служить декільком цілям:
) Дизайнери не може порушити код програми. Вони можуть зв'язуватися з шаблонами всі вони хочуть, але код залишається без змін. Код буде міцніше, більш безпечним і легше підтримувати.
) Помилки в шаблонах приурочені до підпрограм обробки помилок Smartys, що робить їх максимально простий і інтуїтивно зрозумілим для дизайнера.
) З презентацією на своєму шарі, дизайнери можуть змінити або повністю перепроектувати його з нуля, всі без втручання програміста.
Програмісти) не возиться з шаблонами. Вони можуть піти про підтримку коду програми, змінивши спосіб контент, придбаний, створення нових бізнес-правил і т.д., не порушуючи шар уявлення.
) Шаблони близько уявлення про те, що остаточний висновок буде, що інтуїтивний підхід. Дизайнери не хвилює, як зміст потрапив в шаблоні. Якщо у вас є зайві дані в шаблоні, такі як оператор SQL, це відкриває ризик поламати код додатків, випадкового видалення або зміни дизайнером.
) Ви не відкриваючи сервер до виконання довільного коду PHP. Smarty має безліч функцій безпеки, побудованих в так дизайнерів не порушить безпеку, навмисне чи випадкове. Вони можуть тільки робити те, що вони обмежені в шаблонах.
Хоча код програми відділений від уявлення, це не обов'язково означає, що логіка відокремлена. Код додатки, очевидно, має логіку, але шаблони можуть мати логіку, залежно від стану, що це тільки для презентації. Наприклад, якщо розробник хоче чергувати кольору рядки таблиці або прописні деякі призначений контенту, вони можуть. Це логіка уявлення, то програміст не повинен бути пов'язаний з. Як часто ти деяке уявлення відображається в одному стовпці, а потім ви хотіли його в дві або три колонки, тому код програми повинен регулювати, щоб пристосувати це? Кращий підхід, щоб призначити зміст в одному масиві і нехай шаблон обробляти уявлення. Це спростить вашу заявку і тримати ваші шаблони гнучким. Smarty поставляє інструменти, щоб звертатися з цим видом ситуації.
Це не означає, що Smarty заважає вам від здачі логіки додатка в шаблоні, ви повинні мати трохи самодисципліни. Ось приклад вбудовування бізнес-логіки в шаблоні (це вірно, не робити цього, якщо це взагалі можливо):
{Якщо $ smarty.session.user і ($ user_type екв "редактор", або $ user_type екв "адміністратор")}
<Тип вхідного = ім'я прапорець = Змінити значення = "Y"> редагувати <бр>
{/}, Якщо
Логічні перевіряє, якщо користувач увійшов в систему, і вони є або редактор або адміністратор, то вони можуть редагувати це так, редагувати прапорець показує вгору. Це логіка, яка належить в коді програми. Шаблон не хвилює те, що облікові дані цей користувач має, він просто повинен знати, якщо з'являється вікно редагування чи ні! Отже, давайте розглянемо більш відповідного підходу:
{Якщо $ edit_flag}
<Тип вхідного = ім'я прапорець = Змінити значення = "Y"> редагувати <бр>
{/}, Якщо
Це до прикладного програміста, щоб призначити $ edit_flag, простий і легкий для розуміння змінну в шаблоні. У такий спосіб не шаблон більше не покладається на структурі даних. Якщо формат структури даних сесії коли-небудь зміни, то нічого не потрібно регулювати в шаблоні.
Тепер давайте розглянемо кілька речей, які ви можете зробити з Smarty. Єдине, що він може зробити, це користувача функції. Ці теги в шаблоні, які виконують певне завдання. Приклад:
{Html_image файл = "masthead.gif"}
Тут у нас є функція під назвою "html_image". Ця функція приймає зображення наводиться в атрибуті "файл" і робить всю роботу, необхідну, щоб придумати наступний HTML код:

Функція зображення зробив рутинну роботу з'ясувати висоту і ширину і постачання кордону за замовчуванням прапор. Звичайно, ви могли б просто використовувати статичну тег HTML в шаблоні замість, але це показує, як користувацькі функції можуть бути використані для спрощення дуже загальну задачу. Дизайнер може зосередитися на розробці, а не на технічні речі. Крім того, якщо дизайнер вирішує кинути в іншому розмір топового зображення, шаблон не потребує корегування.
html_image це функція, яка поставляється з Smarty. Ви також можете зробити свої власні функції. Ось ще один приклад того, що можна було б виглядати так:
{Тип html_link = "стаття" ID = "абв123" текст = "Вогонь виймає готель"}
Це використання користувача функцію під назвою "html_link". Вона поставляється з наступним HTML код:
Пожежа виймає готель
Що це виконати? З одного боку, проектувальник не потрібно мати справу з форматі URL до статті. З жорстко-закодованих адрес, що станеться, якщо один день програміст вирішує очистити речі, і змінює синтаксис URL від /display_article.php?id=abc123 в / АРТ / абв123? Ми повинні були б редагувати кожен шаблон з артикля URL. Це просто ще один приклад того, як шаблон функції може зробити шаблони легше підтримувати.
Тепер трохи про програмістів і шаблонів. Раніше було відзначено, що програміст не має ніякого догляду за те, що шаблони роблять зі змістом. На концептуальному рівні це вірно, але в реальному світі ви не збираєтеся очікувати шаблону дизайнера, щоб побудувати всі шаблони з повітря. Адже, бізнес-логіка робить визначити, який контент присвоюється шаблонів. Так, програміст зазвичай налаштування шаблонів каркасно для дизайнера, щоб почати с. Це, як правило, містить вихідні елементи, такі як змінні контенту і розділу петель, і, можливо, кілька простих тегів розмітки, щоб вони не починають з вмістом у великому безладді. Нижче наведено приклад шаблону скелета, що переглядає список статей, і відображає їх у вигляді таблиці:
<Таблиця>
{Назва розділу = мистецтво цикл = $ стаття}

{$ стаття [стаття] .headline}
{$ стаття [стаття] .date}
{$ стаття [стаття] .author}

{/ Розділ}

Вихід може виглядати приблизно так:
<Таблиця>

Як був завойований Захід
2 грудня 1999
Джон Уейн


втрачає Команда, тренер йде
2 лютого 2002
Джон Сміт


Приготування вишуканої їжі
23 січня 1954
Бетті Крокер


Тепер для деяких загальних питань:
Чому використовувати шаблони на всіх? Що так важко про написання Замість {$ Title}?
Створення речі простіше читати не дизайн мета, але більше побічних ефектів. Використання шаблонів має величезні переваги, багато з яких були пояснені вище. Оскільки ми перебуваємо в середовищі шаблону в будь-якому випадку, {$ Title} менше, ніж сторонній , Особливо, коли ви починаєте дивитися на нього в довгих сторінок контенту, так що це було досить очевидно, що простіше синтаксис допомагає зробити шаблони простіше читати і підтримувати.
Шаблон потрібно час, щоб розібрати, що робить додатки набагато повільніше.
Це може бути вірно в деяких випадках, але з Smarty це не повільніше, ніж виконання сценарію PHP. На першому виконанні шаблону, Smarty перетворює файли шаблонів в PHP скриптах (так званий шаблон компіляція.) Після цього, скрипт PHP просто включені. Пара це з PHP прискорювача і вам дійсно є швидкий шаблонів середовища з мінімальними витратами.
<Сильний> Smarty є надто складним, як це може бути, що швидко?
Ядро Smarty є досить худий, враховуючи те, що він здатний. Велика частина його функціональності лежить в плагінах. Архітектура плагін розроблений так, що тільки необхідні плагіни завантажуються на вимогу. З цією рамкою, додавання навіть сотні нових полігонів не вплине на продуктивність. Це робить Smarty швидко, масштабованої і гнучкою.
Smarty також має функції кешування, які можуть динамічно оновити і зберегти частині сторінки Uncached на свій смак. Кешування зберігає висновок з скомпільованих шаблонів, економлячи необхідність їх виконання на кожному виклику.
<Сильний> Всі ці розмови про прискорювачів, яким Smarty працювати без одного?
Насправді він працює досить добре, не один. Smarty не вимагає прискорювач, але шаблон самі файли будуть скористатися одним, те, що є унікальним для Smarty (AFAIK). Якщо у вас немає прискорювач, виконання шаблону не так швидко, але не повільно за допомогою інших засобів, так як вони не розібрані! Ви також зберегти всі інші переваги та особливості Smarty. Крім того, оскільки прискорювачі вільно доступні насправді не привід, щоб не використовувати один. Вони допоможуть продуктивність з усіма PHP-додатків, за допомогою Smarty чи ні.
<Сильний> Як це може бути легше підтримувати?
Деякі речі не можуть бути пояснені, але тільки досвідчені. Перевага поділу логіки додатка від подання не може бути підкреслено достатньо. Smarty також має деякі цікаві особливості обробки помилок і вбудовані в консоль налагодження, так що ви можете бачити шаблон ієрархію і привласнені змінні з першого погляду. Додавання користувача функцій для Smarty так само легко, як видалення їх в папці плагіна і відзначити їх в шаблоні.
<Сильний> Теги шаблонів НЕ XML-основі, Мій редактор не подобається.
В {} роздільники просто за замовчуванням, вони легко розрізнити серед HTML тегів. Якщо вам не подобається їх, змінити роздільники або, може бути, щось більш XMLish як Є також багато Внесок користувача Dreamweaver і т.п., дати їм вид в області вклад.
Це Smarty в двох словах, ми сподіваємося, ви можете додати його в свій арсенал інструментів для створення веб-додатків. Щоб дійсно дізнатися більше, прочитайте керівництво зверху вниз, приєднатися до форуми і подивитися, що люди обговорюють

Особливості :.

  • Кешування: Smarty надає детальні функції кешування для кешування всіх або частини виведеного веб-сторінки, або залишити частині некешірованним. Програмісти можуть зареєструвати функції шаблону як кешувального або НЕ кешувального, сторінок в кеші групи в логічні одиниці для більш легкого управління, та ін.
  • Файли конфігурації: Smarty може призначити змінні витягнув з конфігураційних файлів. Шаблон дизайнери можуть підтримувати цінностей, спільних для декількох шаблонів в одному місці без втручання програміста, і конфігураційні змінні можуть бути легко розділені між програмування і презентаційних області програми.
  • Безпека: Шаблони не містять PHP код. Таким чином, дизайнер шаблонів, не розв'язав з повною силою PHP, але тільки підмножина функціональності доступні для них з програм (код додатка).
  • Простота у використанні та обслуговуванні: дизайнери веб-сторінки не маємо справу з синтаксисом PHP коду, але замість цього просто у використанні синтаксис шаблонів не сильно відрізняється від звичайного HTML. Шаблони дуже близько уявлення кінцевої продукції, різко скорочуючи цикл проектування.
  • Змінні Модифікатори: зміст, призначених змінних може бути легко скоректовані на дисплей часу з модифікаторів, таких як відображення у верхньому регістрі, HTML-біг, форматування дати, усічення текстових блоків, додаючи прогалини між символами і т.д. Знову це досягається без втручання з боку програміста.
  • Шаблон Функції: Багато функцій доступні для шаблону дизайнера для обробки завдань, таких як генерація сегменти HTML код (Dropdowns, таблиці, спливаючі вікна і т.д.), відображення контенту з інших шаблонів в он-лайн, обробці масивів контенту , форматування тексту для електронної пошти виходу, їзда на велосипеді, хоча кольору, т.
  • Фільтри :. Програміст має повний контроль над виходом шаблону і складений контент шаблону із заздалегідь фільтрів, поштових фільтрів і вихідних фільтрах
  • Ресурси :. Шаблони можуть бути виведені з будь-якої кількості джерел, створюючи нові обробники ресурсів, то їх використання в шаблонах
  • Плагіни: Майже кожен аспект Smarty контролюється за допомогою плагінів. Вони, як правило, так само просто, як видалення їх в папці плагіна, а потім відзначити їх в шаблоні чи використовувати їх в коді програми. Багато внески користувачем співтовариства, також доступні. (Дивіться розділ плагіни на форумі і вики).
  • Додатки: Багато користувачів співтовариство сприяло Додатки є такі, як Pagination, форма перевірки, меню, що випадає, Calander вибору дати і т.д. Ці інструменти допомагають прискорити цикл розробки, немає необхідності повторно винаходити колесо або налагодження коду, який вже стабільна і готова до розгортання. (Див доповнень розділ форуму і вікі.)
  • Налагодження: Smarty. Поставляється з вбудованим в консоль налагодження так дизайнер шаблонів може бачити все, призначених змінних і програміст може досліджувати шаблони рендеринга швидкості
  • Компіляція :. Smarty компілює шаблони в PHP код за лаштунками, усуваючи час виконання розбору шаблонів
  • Продуктивність: Smarty виконує дуже добре, незважаючи на його великий набір функцій. Більшість можливостей Smarty лежать в плагінів, які завантажуються на вимогу. Smarty поставляється з численними інструментами презентації, мінімізуючи код програми і в результаті більш швидкого, більш захищений від помилок додатків розвитку / розгортання. Шаблони Smarty компілюються в PHP файли всередині (один раз), усуваючи дорогі сканування файлів шаблону і використовуючи швидкість PHP оп-коду прискорювачів.

Що нового У цьому випуску:

  • повернутися супер глобальні зміни доступу і замість цього покладаються на USE_SUPER_GLOBALS для Безпека

Що нового у версії 2.6.23:

  • смуга зворотні лапки з {} математики рівнянь (mohrt)
  • кидок помилка при шаблон існує, але не читається (mohrt)

Що нового у версії 2.6.22:

  • Цей реліз усуває проблему зіткнувся з Smarty 2.6 .21 реліз і двигун помилка PCRE в PHP 5.2. Метод ланцюжка була видалена, щоб уникнути помилки. Метод ланцюжка знову з'явиться в Smarty 3.

Інші програми розробника New Digital Group, Inc.

Smarty
Smarty

13 Apr 15

Smarty

Коментар не знайдено
додати коментар
Включіть картинки!