Пример создания GraphQL API на Laravel. Часть 2

Пример создания GraphQL API на Laravel

В предыдущей статье мы разработали простой GraphQL API для создания и получения информации о пользователях. Сегодня рассмотрим более сложные возможности, такие, как получение вложенных ресурсов, кастомные типы полей, жадная загрузка зависимых моделей (eager loading).

Читать далее «Пример создания GraphQL API на Laravel. Часть 2»

Запускаем PHPUnit тесты внутри Docker-контейнера в PhpStorm

Запускаем PHPUnit тесты внутри Docker-контейнера в PhpStorm

Если вы используете Docker для запуска проекта локально, то наверняка сталкивались со сложностями при запуске тестов. PhpStorm позволяет запускать тесты прямо из кода, для этого нужно лишь кликнуть правой кнопкой мыши на нужном тесте и нажать Run, но с использованием это кажется не так просто на первый взгляд. К счастью, PhpStorm имеет встроенную интеграцию с Docker, которая в том числе позволяет запускать тесты прямо внутри контейнера.

Читать далее «Запускаем PHPUnit тесты внутри Docker-контейнера в PhpStorm»

Тестирование middleware в Laravel

Тестирование middleware в Laravel

Middleware — это очень удобный инструмент Laravel для фильтрации запросов и выполнения других функций. Возникает вопрос, как убедиться, что middleware работает правильно. В данной статье я расскажу, как можно протестировать middleware.

Читать далее «Тестирование middleware в Laravel»

Оптимизация оператора switch в PHP 7.2

Что нового в PHP 7.2

В статье Что нового в PHP 7.2 мы рассмотрели основные изменения новой версии php, релиз которой ожидается в конце ноября. Сегодня мы рассмотрим небольшую, но полезную оптимизацию оператора switch, добавленную в php 7.2. Эта статья является вольным переводом статьи PHP 7.2’s «switch» optimisations от Дерика Ретанса, автора Xdebug и других полезных инструментов для php.

Читать далее «Оптимизация оператора switch в PHP 7.2»

Отладка PHP-приложений в Docker с помощью PhpStorm и Xdebug

Отладка PHP-приложений в Docker с помощью PhpStorm и Xdebug

В предыдущей статье мы разобрали, как настроить локальную среду разработки с помощью Docker Compose.  Сегодня мы разберемся, как настроить отладку php-приложений в Docker c помощью Xdebug.

Читать далее «Отладка PHP-приложений в Docker с помощью PhpStorm и Xdebug»

Настройка локальной среды разработки с помощью Docker Compose

Настройка локальной среды разработки с помощью Docker Compose

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

Проблему настройки локальной среды разработки можно решить с помощью Docker Compose — инструмента, позволяющего настраивать и запускать несколько docker-контейнеров одновременно. Docker Compose использует YAML файл для описания сервисов, требуемых приложению. После настройки, все сервисы можно установить и запустить одной командой.

Читать далее «Настройка локальной среды разработки с помощью Docker Compose»

Что нового в PHP 7.2

Что нового в PHP 7.2

20 июля вышла первая beta-версия PHP 7.2. В целом, релиз 7.2 не предвещает больших изменений, по сравнению с версией 7.1, тем не менее в данном обновлении есть несколько интересных изменений. Рассмотрим, что же нового появилось в PHP 7.2.

Читать далее «Что нового в PHP 7.2»

Оптимизация работы с базой данных MySQL

Оптимизация работы с базой данных MySQL

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

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

Читать далее «Оптимизация работы с базой данных MySQL»