Тестирование PHP кода с HTTP запросами к сторонним сервисам

При написании автоматических тестов к PHP приложению могут возникать различные сложности. Одной из таких сложностей может быть зависимость от внешнего сервиса, к которому (используя его API) происходит обращение по HTTP. Конечно делать реальные запросы к сторонним ресурсам в тестах – не выход. Поэтому в определенный момент придется прибегнуть к созданию различных заглушек. В этой статье попробуем собрать различные способы использования заглушек.

Читать далее

Laravel + Vue в Docker с помощью Sail

Ранее была опубликована статья, вкоторой описывалась настройка fullstack приложения Laravel + Vue с выносом Laravel на поддомен. Vue приложение располагалось на основном домене, а api на Laravel – на поддомене backend.

Но Laravel имеет в своем распоряжении инструмент sail, который позволяет легко настроить docker окружение не прибегая даже, зачастую, к составлению файлов Dockerfile и docker-compose.yml.

Читать далее

Функции статических анализаторов PHP

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

Читать далее

Настройка xDebug с Docker в PHPStorm

Не смотря на то, что настройка xDebug в связке со средой разработки позволяет гораздо эффективнее вести отладку php приложения, не так много разработчиков используют это. Причиной часто является сложность данной настройки. Сначала я составил шпаргалку для себя. Но подумал, что может пригодиться многим. Итак в этой статье будет описана совместная настройка PHPStorm (IDEA), Docker и xDedug.

Читать далее

Настройка docker для laravel и vue проекта

Работая над несколькими проектам можно довольно быстро столкнуться с тем, что версии нужного ПО на рабочей машине подходят не ко всем проектам. В последние годы все шире и шире используется dockerdocker-compose для оркестрации контейнеров), чтобы настроить окружение для работы над проектом локально и решить проблему существования разных версий нужных пакетов одновременно. Дабы не думать над каждой опцией настроек каждый раз удобно иметь под рукой какие-либо заготовки. В этой статье будет представлена одна из них.

Читать далее

PHP 8.1 Enum

Хорошие новости! В PHP появился тип Enum. Многие наверняка знакомы с таким типом данных в MySQL. Ранее, чтобы в php коде обрабатывать данные данного типа из БД, приходилось либо вовсе работать со строками (в самом плохо случае) либо описывать константы и объединять в классы. Однако проверка типов в этих случаях не работала как надо. Ведь все еще передать как аргумент в какой-либо метод можно любую строку вместо корректного значения. Чтобы заставить работать проверку типов как надо появились даже пакеты.

Читать далее

Torch – компоненты Illuminate вне Laravel

Репозитарий Torch – это инструкции и примеры по использованию компонентов Illuminate вне Laravel-приложений. Это бывает полезно, например, в каких-либо старых (legacy) приложениях, которые, в то же время,поддерживают php 7, чтобы не изобретать велосипед и использовать уже знакомые по Laravel компоненты.

Читать далее

Laravel Console Logger

Пакет Laravel Console Logger предоставляем механизм логирования и извещений для консольных команд. В Laravel вывод штатными средствами происходит в общий лог. Для консольных команд это чаще всего не удобно. Эту проблему пакет решает успешно. Кстати, использует все тот же Monolog.

Читать далее