Если вы думаете, что разработка WordPress может быть беспорядочной и излишне запутанной, вы не одиноки. Однако так быть не должно. Комбинируя Timber и Twig , вы можете вывести разработку своей темы WP на беспрецедентный уровень.

Twig – это широко используемый шаблонизатор PHP, синтаксис которого основан на шаблонах Jinja и Django. Как и любой уважающий себя язык шаблонов, он включает в себя множество полезных функций, направленных на улучшение читаемости и оптимизацию времени разработки.

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

Итак, почему Тимбер пробудил во мне интерес к разработке WP?

Лаконично и гибко

Concision и PHP не всегда идут рука об руку, поскольку последний может быть чрезвычайно многословным. Я большой сторонник подхода к разработке «меньше значит больше», учитывая, что многословие – определенно одна из моих самых больших раздражителей. Мне нравится, чтобы все было простым, читаемым и, что самое главное, понятным. Twig предлагает чистую и простую альтернативу утомительным, часто сбивающим с толку PHP-скриптам. Это позволяет вам писать более мощные шаблоны с использованием привлекательного синтаксиса.

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

Разделение проблем

Одна из вещей, которые мне больше всего нравятся в этой комбинации, – это возможность отделить данные от дизайна, что делает разработку PHP менее сложной и более чистой. Вот почему Тимбер и Твиг отлично подходят друг другу. Timber улучшает данные WordPress, делая их более доступными. Например, для получения сообщений WordPress мы используем Timber \ Post (), который предоставляет ряд методов и свойств, к которым можно получить прямой доступ из шаблонов Twig.

Настройка так же проста, как создание нового экземпляра Timber \ Post () в файле .php и добавление его в контекст перед рендерингом шаблона Twig, где он может быть доступен для партиалов, функций и фильтров.

PHP

ПОЧЕМУ ВЫ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ TIMBER И TWIG В СВОЕЙ ТЕМЕ WORDPRESS

 

Веточка

ПОЧЕМУ ВЫ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ TIMBER И TWIG В СВОЕЙ ТЕМЕ WORDPRESS

Timber также предлагает настраиваемые почтовые запросы через Timber \ PostQuery, который возвращает коллекцию сообщений WP, которые можно повторять в шаблоне Twig.

PHP

ПОЧЕМУ ВЫ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ TIMBER И TWIG В СВОЕЙ ТЕМЕ WORDPRESS

 

Веточка

ПОЧЕМУ ВЫ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ TIMBER И TWIG В СВОЕЙ ТЕМЕ WORDPRESS

Кроме того, Timber предоставляет несколько других встроенных классов и функций, направленных на ускорение настройки данных и облегчение независимости проектирования данных, среди которых, по моему опыту, наиболее широко используются Timber \ Image, Timber \ Menu, Timber \ Term, Timber \ Пользователь.

Встроенные функции и фильтры

И Twig, и Timber поставляются с набором суперохлажденных готовых функций и фильтров. Мой личный любимый фильтр Twig – карта. Он ведет себя аналогично своему аналогу в JavaScript. Используя карту, вы можете применить стрелочную функцию к элементам массива, что позволяет настраивать вывод на лету. Стрелочная функция имеет доступ к текущему контексту.

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

ПОЧЕМУ ВЫ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ TIMBER И TWIG В СВОЕЙ ТЕМЕ WORDPRESS

Довольно круто, да? Помимо карты, Twig предлагает множество других супер удобных фильтров, подобных JavaScript, таких как обрезка, разделение, разрезание, уменьшение, обратное, сортировка и фильтрация.

Модульная конструкция

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

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

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

ПОЧЕМУ ВЫ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ TIMBER И TWIG В СВОЕЙ ТЕМЕ WORDPRESS

Теперь вы можете использовать этот код в любом месте своей кодовой базы. Внедрение может быть таким же простым, как запрос list.twig из целевого файла и использование with для назначения массива сообщений для итерации.

ПОЧЕМУ ВЫ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ TIMBER И TWIG В СВОЕЙ ТЕМЕ WORDPRESS

Справедливо сказать, что существует бесчисленное множество способов улучшить разработку WordPress, и, возможно, именно поэтому он так широко используется. Тем не менее, когда я впервые применил Timber, я понял, насколько еще я могу с ним сделать. Возможность использовать мои любимые методы разработки в многословной и совсем не дружественной к разработчикам среде действительно возродила мой интерес к PHP и WordPress.