Підтримка PHP у Maguyva: довгоживучі веб-застосунки без сліпих правок
Актуально, коли кодова база PHP усе ще приносить дохід, але ніхто не хоче, щоб агент вільно імпровізував у ній.
Розширення
.php, .php3, .php4, .php5, +2 ще
Maguyva підтримує Perl з AST, символами та графом, щоб ШІ-агенти відстежували пакети, підпрограми, імпорти use і require та конструктори в успадкованому Perl.
Код на Perl щільний, гнучкий і часто написаний людьми, які пішли багато років тому. Сигіли змінюють значення назви, пакети водночас слугують класами, а той самий модуль завантажують скрипти з багатьох каталогів. Текстовий пошук знаходить рядки, але не каже агентові, яку підпрограму скрипт викликає насправді.
Maguyva дає агентові пакети, підпрограми, імпорти й конструктори як структуру, щоб він окреслив межі зміни, перш ніж торкатися коду.
Maguyva охоплює .pl, .pm, .t, .pod і .perl. Підпрограми витягуються як функції, оголошення package — як класи, а з назв визначень вилучаються сигіли ($, @, %, &, *), тож змінні й підпрограми шукаються за голою назвою.
Імпорти будуються з операторів use, require і package. Виклики методів виду Class->new вважаються створенням екземплярів, а bless і tie навмисно лишаються в графі викликів. Граф також фіксує успадкування, перевизначення, посилання на типи, читання й записи, а також збудження винятків.
Близько 189 вбудованих функцій (print, open, die, warn тощо) відфільтровуються зі зв’язків викликів, щоб код репозиторію було видно.
Billing::Invoice і які його підпрограми викликають?» (dependency_search incoming)Report::Monthly і що відбувається після ->new?» (find_symbol, потім get_task_context)Auth::Session.» (text_pattern_search, потім find_symbol)sub всередині пакета, тому в структурному пошуку методом вважається лише новий спеціальний синтаксис method. Для старого об’єктно-орієнтованого Perl використовуйте пресет functions.open чи print, використовуйте text_pattern_search.Під’єднайте репозиторій за швидким стартом, потім перегляньте матрицю підтримки на сторінці сумісності. Якщо спадщина переїжджає на іншу скриптову мову, порівняйте з посібником із мови Python.
Найкраще підходить
Робочі процеси агента
Деталі рушія
Корисні точки входу MCP
Використовуйте з назвою пакета чи підпрограми; сигіли вилучаються, тож шукайте за голою назвою.
Використовуйте обхід incoming для спільного модуля, щоб побачити, які скрипти й пакети від нього залежать.
Використовуйте для відфільтрованих вбудованих функцій, ключів конфігурації та SQL-рядків, яких граф викликів не охоплює.
Пов'язані гайди
Актуально, коли кодова база PHP усе ще приносить дохід, але ніхто не хоче, щоб агент вільно імпровізував у ній.
Розширення
.php, .php3, .php4, .php5, +2 ще
Корисно, коли кодові бази Python розкидані по сервісах, скриптах, файлах типів (stub) та операційному «клеї».
Розширення
.py, .pyi, .pyw