Как подружить WordPress и Twig

Что такое шаблонизатор? Шаблонизатор (в web) — программное обеспечение, позволяющее использовать html-шаблоны для генерации конечных html-страниц. Основная цель использования шаблонизаторов — это отделение представления данных от исполняемого кода. Часто это необходимо для обеспечения возможности параллельной работы программиста и дизайнера-верстальщика. Использование шаблонизаторов часто улучшает читаемость кода и внесение изменений во внешний вид, когда проект целиком выполняет один человек. Wikipedia Самая важная функция …

ПодробнееКак подружить WordPress и Twig

100 дней ответов на StackOverflow

Все разработчики знают такой сервис как StackOverflow(SO). Для тех, кто не знает — это самая популярная система вопрос/ответ для разработчиков и администраторов. На платформе можно найти идеи для своих реализаций в виде кода, задавать вопросы и отвечают на них. Метки и фильтры Мир ИТ сейчас достаточно широк и разбираться во всем невозможно, поэтому нужно отметить …

Подробнее100 дней ответов на StackOverflow

WordPress Coding Standards(WPCS)

WPCS — это набор правил PHP_CodeSniffer (сниффы) для проверки кода, разработанного для WordPress. Он обеспечивает качество кода и соблюдение соглашений официальных стандартов кода для WordPress. Если вы работаете в команде из более 1-го человека, то стоит подумать о едином стандарте коде (code style). Даже если вы в своей команде смогли договорится о каком-то стандарте, то …

ПодробнееWordPress Coding Standards(WPCS)

Автозагрузка классов для WordPress

Если вы используете у себя в проектах сотни require или include, то вам точно стоит прочесть эту статью. Зачем нужна автозагрузка? Автозагрузка (autoload) нужна для того, чтобы навсегда избавится от require, include и постоянного изменения порядка их подключения. Рассмотрим два вариант autoload: composer spl_autoload Autoload своих классов через composer В файл composer.json нужно добавить директиву …

ПодробнееАвтозагрузка классов для WordPress

Автоматизиция тестирования

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

ПодробнееАвтоматизиция тестирования

Модульное тестирование(Unit tests) с помощью PHPUnit

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

ПодробнееМодульное тестирование(Unit tests) с помощью PHPUnit

Модульное тестирование WordPress (PHPUnit, WP_Mock)

Кто еще не знаком с тестированием и модульным тестированием можете ознакомится: Автоматизация тестирования, Модульное тестирование с помощью PHPUnit. Тестирование тем и плагинов под WordPress имеет одну большую проблему — взаимодействие с ядром. Решить ее можно с помощью библиотеки 10up/WP_Mock. Библиотека 10up/WP_Mock помогает делать заглушки для ф-ций и классов из ядра WordPress. Установка библиотеки 10up/WP_Mock для …

ПодробнееМодульное тестирование WordPress (PHPUnit, WP_Mock)

Как тестировать Hard Dependencies в PHPUnit с помощью Mockery

Если у вас возникают вопросы: Что такое Hard Dependencies и почему это плохо? Вы можете прочитать в статье https://wp-punk.com/dependency-injection/. Внедрения зависимостей (Dependency Injection) один из основных принципов, которых нужно придерживаться для написание качественного кода. Но иногда мы сталкиваемся с проблемами, когда избежать зависимостей невозможно или же это занимает слишком много времени. Сложность заключается в том, …

ПодробнееКак тестировать Hard Dependencies в PHPUnit с помощью Mockery

Как тестировать константы?

Исходный код: class Constant { public function abspath() { return ABSPATH; } } Для тестирования необходимо немного изменить код. Константы необходимо получать через функцию constant: class Constant { public function abspath() { return constant( ‘ABSPATH’ ); } } Для тестирования используем библиотеку lucatume/function-mocker. Установим ее через composer: composer require lucatume/function-mocker В файле bootstrap.php инициализируем FunctionMocker: …

ПодробнееКак тестировать константы?