Перейти к содержимому
cd /languages
Старый веб, новое давлениеПрограммированиеПолная поддержка графа

Поддержка PHP в Maguyva: долгоживущие веб-приложения без слепых правок

Maguyva поддерживает PHP с разбором AST и извлечением символов, чтобы AI-агенты могли ориентироваться в приложениях на Laravel, самописных фреймворках, коде эпохи WordPress и других долгоживущих PHP-репозиториях с большей структурой, чем даёт grep.

Почему PHP нужен поиск с учётом структуры

PHP — один из самых наглядных примеров того, почему широкая поддержка языков должна быть реальной, а не декларативной. Многие важные системы до сих пор написаны на PHP: приложения на Laravel, старые монолиты, внутренние админ-инструменты и сильно кастомизированные веб-приложения, пережившие все запланированные переписывания.

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

Что Maguyva реально извлекает в PHP

Maguyva убирает сигил $ из определений, нормализует вызовы с префиксом члена и отфильтровывает очень большой объём шума от встроенных функций PHP в графе связей. Именно такая очистка нужна старому PHP-коду, прежде чем поиск и представления зависимостей станут полезными.

Она также поддерживает форматы файлов, с которыми реально сталкиваются PHP-команды — от .php и .phtml до более старых версионированных расширений, которые всё ещё встречаются в долгоживущих системах.

Полезные MCP-сценарии для долгоживущих PHP-приложений

Продуктивный паттерн обычно такой:

  • find_symbol для контроллеров, сервисов, моделей или вспомогательных классов со стабильными именами.
  • text_pattern_search для имён маршрутов, вызовов хелперов или старых соглашений фреймворка, когда точный текст всё ещё самый быстрый путь.
  • get_task_context, когда путь кода запутан и нужна сшитая сводка перед редактированием.

Когда эта страница полезна

Эта страница — для команд, чей практический вопрос звучит просто: «у нас всё ещё крутится важный PHP». Если фронтенд живёт на современном JavaScript, читайте далее JavaScript. Если в репозитории есть более новые сервисные или автоматизационные слои по краям, страница Python — более уместный спутник.

Лучше всего подходит

  • >Репозитории на Laravel, самописном PHP или смешанные монолиты, которые по-прежнему важны для эксплуатации.
  • >Команды, поддерживающие более старые веб-приложения, которые теперь соседствуют с фронтендами на JavaScript и инфраструктурным кодом.
  • >Рефакторинг с помощью AI, где приоритет — понять существующий поток выполнения, прежде чем его менять.

Сценарии работы агента

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

Детали движка

  • >PHP убирает символ `$` из определений и нормализует вызовы с префиксом члена, что делает старый код с большим количеством хелперов проще искать последовательно.
  • >Поддержка охватывает типичные форматы файлов PHP, включая `.php`, `.php3`, `.php4`, `.php5`, `.phtml` и `.phps`.
  • >Крупный фильтр встроенных функций убирает стандартную поверхность рантайма PHP, чтобы граф оставался сосредоточен на прикладном коде.

Полезные точки входа MCP

  • find_symbol

    Используйте его для контроллера, сервиса, модели или класса-хелпера, когда в репозитории ещё есть узнаваемые имена символов.

  • text_pattern_search

    Используйте его для имён маршрутов, вызовов хелперов или старых соглашений фреймворка, когда одной структуры недостаточно.

  • get_task_context

    Полезно, когда нужна сшитая сводка старого PHP-потока перед его изменением.