Тестирование Warnings в PHPUnit 9+

Обложка к записи Тестирование Warnings в PHPUnit 9+

Тестирование предупреждений (warnings), передаваемых через trigger_error, вызывает предупреждение об устаревании в PHPUnit 9+. Expecting E_WARNING and E_USER_WARNING is deprecated and will no longer be possible in PHPUnit 10 Тестирование E_USER_WARNING и E_WARNINGM больше не будет возможным, в пользу брошенных исключений. Ни один из обычных трюков конфигурации convertWarningsToExceptions не работает. Вот фрагмент, который может помочь: $errored …

Подробнее

Ссылка на скачивание

Обложка к записи Ссылка на скачивание

Иногда бывает нужно создать ссылку, которая должна показать системный диалог для сохранения файла. Браузеры достаточно умны, чтобы открыть этот диалог для некоторых двоичных файлов, например, для архивов или *.exe. Но что, если я хочу загрузить изображение или видео? Заголовок Content-Disposition Наиболее правильный способ — добавить заголовок Content-Disposition на сервере: Content-Disposition: attachment; filename=cat.jpg Когда браузер встречает …

Подробнее

Как добавить комментарии Telegram на WordPress сайт

Сейчас я покажу на простом примере, как вы можете встроить обсуждения Telegram поста из любого публичного канала на свой сайт под управлением WordPress. Коротко о Discussion Widget За основу берем стандартный Telegram Discussion Widget. Для встраивания сообщения вместе со всеми обсуждениями вам понадобится только ссылка на сообщение с комментариями/ Если у вас есть сайт со …

Подробнее

Использование 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, чтобы показать, что исправление находится в процессе и …

Подробнее