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-кода и удобство настройки; новости о работе над ним буду публиковать в блоге.


