avatar
security Смарти: несколько слов о безопасности Разработчики Смарти не обошли и проблему безопасности в своем проекте. Под безопасностью здесь конечно подразумевается сфера шаблонов, т.е. мы обезопасиваем использование шаблонов, а не скриптов, которые их вызывают.

А что там вообще надо обезопасивать и как мы можем нарушить безопасность какого-нибудь проекта с помощью шаблонов?

Допустим, я – интегратор. Я участвую в разработке какого-то крупного коммерческого проекта, где используется всеми любимый (и мной в том числе icon smile Смарти: несколько слов о безопасности ) Smarty. Если я интегратор, мне не обязательно лезть в php-скрипты. Главное – мне нужен доступ к директориям картинок, css-файлов, js-файлов и шаблонов, где я бы мог менять дизайн и т.п.

В шаблонах при отключенной или плохо настроенной безопасности я могу делать три небезопасных действия, начинающихся на букву В:

  • вставлять php-код
  • вызывать любые функции php в условных операторах {if}
  • включать любые шаблонные файлы (из любой директории сервера) в другие шаблоны

Читать далее »

avatar
cache Кэширование в Смарти Как мы знаем, один из недостатков Смарти по отношению к Blitz – низкая скорость работы. Сегодня мы попытаемся хотя бы частично убрать этот недостаток с помощью механизма кэширования, заложенного в Smarty.

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

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

Мы рассмотрим два вида кэширования в смарти:

  1. Простое кэширование страницы
  2. Множественное кэширование

Читать далее »

avatar
plugins Пишем плагин для Смарти Как мы уже говорили в предыдущей статье про Smarty, в нем имеется возможность написания плагинов. Для тех, кто не знает (хотя уже должны знать по статьям про плагины в WordPress), что такое плагин, немного поясню – это некий программный код, который расширяет функциональность какого-то программного средства без изменения ядра этого средства.

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

Сейчас мы с ходу попробуем написать плагин, который просто будет выводить «Hello, World!». Допустим, мы хотим, чтобы конструкция {hello_world} в шаблоне выводила знаменитую всем фразу.
Читать далее »

avatar
continue Смарти: продолжаем осваивать Сегодня я бы хотел подробнее рассмотреть механизм условий в смарти и коснуться еще чего-нибудь важного и интересного для данного этапа освоения этого шаблонизатора. Я уже слегка касался условий в предыдущей статье, а теперь хочу подробно рассказать о них, чтобы картина была полной.

Условия в смарти

Как вы уже поняли из предыдущей статьи, смарти обладает своими тегами. Теги условий выглядят следующим образом:

{if $a > $b}
B is less than A
{/if}

Это простое условие. Теперь простое ветвление:

{if $a > $b}
B is less than A
{else}
A is less than or equal to B
{/if}

Читать далее »

avatar
intro Смарти. Введение Продолжаем тему шаблонизаторов и сегодня рассмотрим наверно самый популярный из них – Smarty (Смарти). Точнее даже не рассмотрим, а начнем рассматривать, потому что у смарти довольно мощный движок, все возможности которого рассмотреть в одной статье думаю нереально.

Сайт проекта Smarty[ссылка].

Вот думаю, с чего бы начать…

Ага. Начну-ка с установки. Я еще недавно рассматривал другой шаблонизатор Blitz в этой статье. Так вот, там я писал, что его нужно ставить как отдельное расширение PHP. Теперь спешу всех успокоить: смарти не обладает таким недостатком, поэтому его можно использовать в любом проекте.
Читать далее »

avatar
blitz templates Blitz: шаблонный подход к построению контента Мне кажется, что пора уже рассматривать тему шаблонизаторов – специальных библиотек для построения шаблонов. Проблема любого крупного проекта, я думаю, – отделение дизайна от кода (т.е. html-страниц от php-кода). Зачем это делать? Ну на то конечно есть причины. Во-первых, разделенные дизайн и код легче поддерживать и изменять.

Во-вторых, если на сайте нужна смена скинов, без шаблонов не обойтись, потому что для каждого скина придется дублировать все php-файлы (код), а это не есть хорошо (потому что отнимает много времени) для постоянно изменяющегося кода в результате воздействия заказчика icon smile Blitz: шаблонный подход к построению контента

Так вот, существует множество шаблонизаторов, из которых я бы воспользовался одним из двух: Smarty и Blitz. О Smarty мы поговорим в других статьях, а в этой коснемся Blitz – шаблонизатора, о котором я совсем недавно узнал, в отличие от Smarty.
Читать далее »




© 2008 - 2012 i-novice.net | Все права защищены.