Laramago — Mago для Laravel

Иллюстрация рабочего стола с ноутбуком, кодом и блокнотом с набросками проектов

Laramago — мой пакет, который помогает использовать Mago в Laravel-проекте. Хочу, чтобы проверка PHP-кода лучше понимала особенности фреймворка и её было проще подключить к повседневной разработке.

Иллюстрация рабочего стола с ноутбуком, кодом и блокнотом с набросками проектов
Идеи, код и новые проекты. Иллюстрация.

Зачем он нужен

В Laravel много удобных конструкций, которые не всегда очевидны анализатору: свойства моделей, связи Eloquent, локальные scopes, построители запросов и макросы. Laramago добавляет настройки и сведения о таких конструкциях, чтобы проверка учитывала устройство приложения.

При этом команды остаются командами самого Mago. Пакет помогает настроить инструмент и дополнить анализ, а не вводит отдельный способ запуска для каждого действия.

Что уже есть

  • Подключение и настройка Mago через Composer-пакет.
  • Настройки линтера и форматирования для Laravel-проектов.
  • Поддержка анализа моделей Eloquent, их связей, scopes, построителей запросов и коллекций.
  • Дополнительные сведения для анализа запросов, контейнера и других привычных конструкций Laravel.
  • Экспорт метаданных конфигурации, маршрутов и переводов для инструментов разработки.

Сведения о моделях собираются из исходников без запуска Laravel и подключения к базе данных. Это полезно для проверки кода в окружении, где полноценное приложение ещё не настроено.

Как попробовать

Пакет доступен на GitHub. В README описаны установка через Composer, разрешение плагина и настройки. После подключения можно запускать проверки Mago, например vendor/bin/mago lint.

Начальные настройки рассчитаны на постепенное внедрение проверок в существующий проект. По мере подключения анализа можно выбирать нужную строгость и разбирать предупреждения.

Текущее состояние

Пакет уже опубликован и развивается. Продолжаю улучшать понимание Laravel-кода и удобство настройки; новости о работе над ним буду публиковать в блоге.

Исходники, установка и документация · Все мои проекты.

Поделиться с друзьями
Блог Ичи