PHP-støtte i Maguyva: Langvarige webapper uten blinde endringer
Relevant når en PHP-kodebase fortsatt genererer inntekter, men ingen ønsker at en agent skal improvisere endringer i den.
Filendelser
.php, .php3, .php4, .php5, +2 til
Maguyva støtter Ruby med AST, symboler og graf, slik at AI-agenter kan følge klasser, moduler, singleton-metoder og konstruktørkall i Rails- og Ruby-kodebaser.
Ruby lener seg tungt på konvensjoner og metaprogrammering. Metoder genereres av attr_accessor, klasser åpnes på nytt i andre filer, og navnerom nøster flere moduler i dybden. Den lesbare overflaten skjuler hvilken metode et kall faktisk treffer, og et grovt tekstsøk returnerer hver call og perform i appen.
Maguyva gir agenten klasser, moduler, metoder og kallerne deres som struktur, slik at den kan følge en endring gjennom appen i stedet for å gjette.
Maguyva dekker .rb-, .rbw-, .rake- og .gemspec-filer samt Gemfile og Rakefile. Instansmetoder og singleton-metoder (def self.call) hentes ut, og singleton-metoder merkes som statiske. Deklarasjoner med attr_reader, attr_writer og attr_accessor teller som accessor-metoder, og symboler kvalifiseres med modul- og klassenavnerommet sitt.
ClassName.new og Namespace::ClassName.new teller som instansiering, og mottakertypingen følger lokale tilordninger og @instance_variables, så et kall på et tilordnet objekt kan løses til klassen. Grafen registrerer også arv, modulinkludering, overstyringer, raise- og rescue-kanter samt lesinger og skrivinger.
Metaprogrammeringskall (define_method, send, method_missing, class_eval og lignende), Sorbets T::-typehjelpere og vanlige enumerable-kall (each, collect, reject og lignende) filtreres ut av relasjonene, slik at applikasjonskoden kommer tydelig frem.
Billing::ChargeCustomer.call, og fra hvilke jobber og kontrollere?» (find_symbol, deretter dependency_search incoming)ApplicationRecord og inkluderer Auditable?» (dependency_search)get_task_context)require og load er vanlige metodekall i Ruby, så forhåndsinnstillingen imports i structural_search velger ingenting. Bruk text_pattern_search for å liste dem.define_method eller håndteres av method_missing, hentes ikke ut som symboler, og disse kallene filtreres som metaprogrammeringsstøy.Koble til et repositorium med hurtigstarten, og se deretter støttematrisen på kompatibilitetssiden. For andre repositorier i dynamiske språk kan du sammenligne med veiledningen for Python.
Best egnet
Agent-arbeidsflyter
Motordetaljer
Nyttige MCP-inngangspunkter
Bruk det for en klasse, en modul eller en metode med navnerom, som `Billing::ChargeCustomer.call`.
Bruk incoming-traversering på en modell eller et tjenesteobjekt før en endring for å se kallere og subklasser.
Bruk det for `require`-stier, rutestrenger og dynamisk definerte metoder som grafen ikke ser.
Relaterte guider
Relevant når en PHP-kodebase fortsatt genererer inntekter, men ingen ønsker at en agent skal improvisere endringer i den.
Filendelser
.php, .php3, .php4, .php5, +2 til
Nyttig når Python-kodebaser sprer seg over tjenester, skript, typestubber og driftsmessig limkode.
Filendelser
.py, .pyi, .pyw