Podpora PHP v nástroji Maguyva: dlouhověké webové aplikace bez slepých úprav
Relevantní, když codebase v PHP stále generuje tržby, ale nikdo nechce, aby v něm agent samovolně improvizoval.
Přípony
.php, .php3, .php4, .php5, +2 dalších
Maguyva podporuje Ruby s AST, symboly a grafem, takže AI agenti sledují třídy, moduly, singletonové metody a konstruktory v kódových základnách Rails a Ruby.
Ruby silně spoléhá na konvence a metaprogramování. Metody generuje attr_accessor, třídy se znovu otevírají v jiných souborech a jmenné prostory vnořují moduly do několika úrovní. Čitelný povrch skrývá, ke které metodě volání skutečně dojde, a hrubé textové vyhledávání vrátí každé call a perform v aplikaci.
Maguyva dá agentovi třídy, moduly, metody a jejich volající jako strukturu, aby mohl změnu sledovat celou aplikací a nemusel hádat.
Maguyva pokrývá soubory .rb, .rbw, .rake a .gemspec a také Gemfile a Rakefile. Extrahují se metody instancí a singletonové metody (def self.call), přičemž singletonové metody se označí jako statické. Deklarace attr_reader, attr_writer a attr_accessor se počítají jako přístupové metody a symboly se kvalifikují jmenným prostorem modulu a třídy.
ClassName.new a Namespace::ClassName.new se počítají jako vytvoření instance a typování příjemců sleduje lokální přiřazení a @instance_variables, takže volání na přiřazeném objektu lze vyřešit na jeho třídu. Graf zaznamenává také dědičnost, vkládání modulů, přepisy, hrany raise a rescue a čtení a zápisy.
Volání metaprogramování (define_method, send, method_missing, class_eval a podobné), typové pomocníky T:: ze Sorbetu a běžná volání Enumerable (each, collect, reject a podobné) se z vazeb odfiltrují, aby vynikl kód aplikace.
Billing::ChargeCustomer.call a ze kterých úloh a kontrolérů?“ (find_symbol, pak dependency_search incoming)ApplicationRecord a vkládají Auditable?“ (dependency_search)get_task_context)require a load běžná volání metod, takže preset imports v structural_search nic nevybere. K jejich výpisu použijte text_pattern_search.define_method nebo obsluhované přes method_missing se neextrahují jako symboly a tato volání se odfiltrují jako šum metaprogramování.Připojte repozitář podle rychlého startu a pak si prohlédněte matici podpory na stránce kompatibility. U dalších repozitářů v dynamických jazycích porovnejte s průvodcem jazykem Python.
Nejlépe se hodí pro
Workflow agentů
Podrobnosti enginu
Užitečné vstupní body MCP
Použijte pro třídu, modul nebo metodu se jmenným prostorem, například `Billing::ChargeCustomer.call`.
Před změnou použijte procházení incoming na modelu nebo servisním objektu a uvidíte volající i podtřídy.
Použijte pro cesty `require`, řetězce rout a dynamicky definované metody, které graf nevidí.
Související průvodci
Relevantní, když codebase v PHP stále generuje tržby, ale nikdo nechce, aby v něm agent samovolně improvizoval.
Přípony
.php, .php3, .php4, .php5, +2 dalších
Užitečné, když se codebase v jazyce Python rozlévá napříč službami, skripty, type stuby a kódem, který propojuje provozní části systému.
Přípony
.py, .pyi, .pyw