Использование yield в провайдерах данных PHPUnit

Обложка к записи Использование yield в провайдерах данных PHPUnit

Изначально я хотел написать общий пост о PHP генераторах, функции, появившейся в PHP 5.5. Однако, поскольку я очень ленивый и мне все никак не удается придумать хорошие примеры использования генераторов, я решил сделать этот мини-пост, посвященный одному такому использованию. Провайдеры данных в PHPUnit Часто используемой функцией PHPUnit являются провайдеры данных. В провайдере данных вы задаете …

Подробнее

Ошибка «Constant CONSTANT_NAME Already Defined» в PHPUnit

Обложка к записи Ошибка «Constant CONSTANT_NAME Already Defined» в PHPUnit

Если вы используете PHPUnit для запуска множества тестов, каждый из которых определяет константы, то вы можете столкнуться с ошибкой «Constant CONSTANT_NAME Already Defined» при попытке запустить их вместе. Это происходит потому, что PHPUnit по умолчанию запускает все тесты в одном и том же процессе PHP, поэтому после запуска первого теста (и определения в нем константы) PHP …

Подробнее

Как обновить Composer в Ubuntu

Обложка к записи Как обновить Composer в Ubuntu

Composer второй версии даёт прирост по производительности почти на 50% по сравнению с первой версией, поэтому обновить его рекомендую каждому разработчику. Для работы нам понадобятся рутовые права. 1 способ Можно воспользоваться встроенной возможностью Composer к самообновлению через команду self-update: composer self-update –2 Если после выполнения данной команды вы получаете сообщение об ошибке «Command «self-update» is …

Подробнее

Отличие composer install от composer update

Обложка к записи Отличие composer install от composer update

В одном из чатов поддержки WordPress прозвучал простой, на первый взгляд, вопрос: «В чем отличие команды composer install от команды composer update«, на который я постараюсь ответить как можно подробнее. composer update composer update обновит все ваши зависимости, указанные в файле composer.json. Предположим, что ваш проект использует следующую конфигурацию: “require”: { “foo/bar”: “2.0.*” } Ранее мы …

Подробнее

10 причин для использования WordPress

Обложка к записи 10 причин для использования WordPress

Мы в компании Yoast любим WordPress. И не только потому, что мы создаем плагины для сайтов WordPress, но и из-за всех преимуществ и возможностей, которые предлагает эта платформа. А знаете ли вы, что WordPress является самой популярной платформой для веб-сайтов в мире? Если вы хотите создать сайт, почему бы не рассмотреть вариант создания сайта на …

Подробнее

​Как съесть крипто-слона по пиксель-кусочкам

Обложка к записи ​Как съесть крипто-слона по пиксель-кусочкам

Время идет. Ситуация не улучшается. Все больше запросов на одну и ту же тему — как вывести средства зарубеж? И хоть вопрос всегда выглядит одинаково — решения сильно зависят от деталей. Давайте по этим деталям и пройдемся. Прежде всего со всеми входящими запросами мы стараемся разделить задачи на 3 понятных блока: конвертация (фиат/крипта/фиат), хранение, приумножение. …

Подробнее

TailPress — быстрое создание темы WordPress с помощью Tailwind CSS

Обложка к записи TailPress — быстрое создание темы WordPress с помощью Tailwind CSS

TailPress — это ваша отправная точка для разработки тем под WordPress с помощью Tailwind CSS. Поставляется с поддержкой редактора блоков Gutenberg из коробки. С чего начать? 1. Получите установщик через composer composer global require jeffreyvanrossum/tailpress-installer 2. Запустите генератор темы tailpress new example-theme Для задания имени темы и инициализации Git репозитория используйте дополнительные параметры. tailpress new …

Подробнее

Как использовать InnerBlocks в блоках ACF

Обложка к записи Как использовать InnerBlocks в блоках ACF

Моя любимая новая функция в Advanced Custom Fields 5.9 — поддержка InnerBlocks. Это позволяет вам вставлять любой блок (из ядра или пользовательский) внутрь блока ACF. Вместо того чтобы создавать собственные поля для Title, Content и Button в пользовательском блоке, вы можете просто вставить <InnerBlocks /> и использовать редактор блоков для создания содержимого внутри блока. Как …

Подробнее

Как отключить встроенные блоки WordPress

Обложка к записи Как отключить встроенные блоки WordPress

Хотя я стараюсь поддерживать все основные блоки в темах, которые я создаю, иногда имеет смысл удалить некоторые из блоков. Обычно это происходит потому, что я создал пользовательский блок, который похож на основной блок, но при этом отвечает требованиям дизайна и функциональности темы. Большинство моих тем включают блок «Содержание и изображение», который похож на блок «Медиа …

Подробнее

Статический анализатор кода Psalm в WordPress

Обложка к записи Статический анализатор кода Psalm в WordPress

Статические анализаторы кода (PHPStan, Psalm, Phan) просто читают код и пытаются найти в нём ошибки. Они могут выполнять как очень простые и очевидные проверки (например, на существование классов, методов и функций, так и более хитрые (например, искать несоответствие типов, race conditions или уязвимости в коде). Ключевым является то, что анализаторы не выполняют код — они …

Подробнее

Tabnine — искусственный интеллект для вашего PhpStorm

Обложка к записи Tabnine — искусственный интеллект для вашего PhpStorm

Tabnine (ранее Codota) — самый лучший плагин для автодополнения кода с привлечением искусственного интеллекта и нейросетей в PhpStorm. Как работает TabNine По словам разработчика Джейкоба Джексона, в основу алгоритма легла система обработки естественного языка GPT-2 от OpenAI. Для того, чтобы натренировать ИИ, он использовал более 2 млн файлов из GitHub. Обрабатывая текущую строчку, TabNine предлагает наиболее …

Подробнее

Использование ключевых слов в issues и pull requests на GitHub

Обложка к записи Использование ключевых слов в issues и pull requests на GitHub

На GitHub есть одна очень полезная штука, про которую многие не знают — это возможность слинковать issue с pull request или отметить issue или pull request как дубликат или закрыть issue автоматически при помощи ключевых слов. Связываем pull request с issue Чтобы связать pull request с issue, чтобы показать, что исправление находится в процессе и …

Подробнее

Плагин Github Comments для WordPress

Обложка к записи Плагин Github Comments для WordPress

Github Comments — легковесный виджет комментирвания для WordPress, основанный на GitHub Issues. Используйте GitHub Issues для комментирования записей блога без лишних телодвижений. Возможности плагина Опенсорс. 🙌 Нет трегинга, нет рекламы, бесплатный. 📡🚫 Все данные сохраняются в GitHub Issues. 🔓 Стилизован при помощи Primer — тулкита, который используется на GitHub. 💅 Тёмная тема. 🌘 Легковесный, на …

Подробнее

Calibre — простой способ закачивания книг в Kindle

Обложка к записи Calibre — простой способ закачивания книг в Kindle

После покупки электронной читалки Kindle PaperWhite 2018 на 8Gb от Amazon встал вопрос удобной закачки книг в это устройство. Проблемы Мануал, который шёл в комплекте с читалкой, настойчиво рекомендовал мне использовать для заливки книг внутреннюю почту @kindle.com. Её дают сразу после регистрации устройства. Но тут я столкнулся с несколькими проблемами, из-за которых пришлось искать другой …

Подробнее

Типографская раскладка Бирмана для Ubuntu

Обложка к записи Типографская раскладка Бирмана для Ubuntu

Позволяет вводить редкие символы с лёгкостью. Данный репозиторий содержит адаптацию русской и английской типографской раскладки Ильи Бирмана версии 3.4 для Ubuntu. Раскладки протестированы в Ubuntu 18.04, 20.04. Версия для 16.04 доступна в одноимённом бранче. Фичи раскладки Эта раскладка позволяет вводить полезные символы, используя правый Alt (называемый AltGr). Например, чтобы получить знак евро €, вам нужно нажать AltGr+У в русском варианте или AltGr+E в английском. Дополнительный …

Подробнее