PHP-Unterstützung in Maguyva: Langlebige Web-Apps ohne blinde Änderungen
Relevant, wenn eine PHP-Codebase noch immer Umsatz bringt, aber niemand will, dass sich ein Agent darin frei austobt.
Dateiendungen
.php, .php3, .php4, .php5, +2 weitere
Maguyva unterstützt Perl mit AST, Symbolen und Graph, damit KI-Agenten Pakete, Subroutinen, use- und require-Importe sowie Konstruktoren in Legacy-Perl verfolgen.
Perl-Code ist dicht, flexibel und oft von Leuten geschrieben, die vor Jahren gegangen sind. Sigils ändern die Bedeutung eines Namens, Pakete dienen zugleich als Klassen, und dasselbe Modul wird von Skripten in vielen Verzeichnissen geladen. Eine Textsuche findet die Strings, sagt einem Agenten aber nicht, welche Subroutine ein Skript tatsächlich aufruft.
Maguyva gibt dem Agenten Pakete, Subroutinen, Importe und Konstruktoren als Struktur, damit er eine Änderung eingrenzen kann, bevor er den Code anfasst.
Maguyva deckt .pl, .pm, .t, .pod und .perl ab. Subroutinen werden als Funktionen und package-Deklarationen als Klassen extrahiert; bei Definitionsnamen werden die Sigils ($, @, %, &, *) entfernt, sodass Variablen und Subroutinen unter ihrem bloßen Namen durchsuchbar sind.
Importe entstehen aus use-, require- und package-Anweisungen. Methodenaufrufe der Form Class->new zählen als Instanziierung, und bless sowie tie bleiben bewusst im Aufrufgraphen. Der Graph erfasst außerdem Vererbung, Overrides, Typreferenzen, Lese- und Schreibzugriffe sowie ausgelöste Ausnahmen.
Etwa 189 eingebaute Funktionen (print, open, die, warn und ähnliche) werden aus den Aufrufbeziehungen gefiltert, damit der Code des Repositorys hervortritt.
Billing::Invoice, und welche seiner Subroutinen rufen sie auf?“ (dependency_search incoming)Report::Monthly erzeugt, und was passiert nach ->new?“ (find_symbol, dann get_task_context)Auth::Session prüft.“ (text_pattern_search, dann find_symbol)sub-Deklarationen innerhalb eines Pakets, daher wird in der Struktursuche nur die neuere dedizierte method-Syntax als Methode eingeordnet. Nutze für älteres objektorientiertes Perl das Preset functions.text_pattern_search, wenn du jeden open- oder print-Aufruf brauchst.Verbinde ein Repository über den Schnellstart und prüfe dann die Unterstützungsmatrix auf der Kompatibilitätsseite. Wenn der Bestand in eine andere Skriptsprache wandert, vergleiche mit dem Python-Leitfaden.
Am besten geeignet
Agentenabläufe
Engine-Einordnung
Nützliche MCP-Einstiegspunkte
Nutz es für einen Paket- oder Subroutinennamen; Sigils werden entfernt, such also nach dem bloßen Namen.
Nutz die eingehende Traversierung auf einem gemeinsamen Modul, um zu sehen, welche Skripte und Pakete davon abhängen.
Nutz es für gefilterte eingebaute Funktionen, Konfigurationsschlüssel und SQL-Strings, die der Aufrufgraph auslässt.
Verwandte Guides
Relevant, wenn eine PHP-Codebase noch immer Umsatz bringt, aber niemand will, dass sich ein Agent darin frei austobt.
Dateiendungen
.php, .php3, .php4, .php5, +2 weitere
Nützlich, wenn sich Python-Codebasen über Services, Skripte, Type Stubs und operativen Klebecode erstrecken.
Dateiendungen
.py, .pyi, .pyw