Maguyva में PHP सपोर्ट: बिना आंख मूंदे एडिट किए दीर्घजीवी वेब ऐप
प्रासंगिक तब जब कोई PHP कोडबेस अब भी राजस्व ला रहा हो, लेकिन कोई नहीं चाहता कि कोई एजेंट उसमें मनमानी करे।
एक्सटेंशन
.php, .php3, .php4, .php5, +2 और
Maguyva, Perl को AST, सिंबल और ग्राफ़ के साथ सपोर्ट करता है, ताकि AI एजेंट legacy Perl में पैकेज, सबरूटीन, use और require इम्पोर्ट, और कंस्ट्रक्टर ट्रेस कर सकें।
Perl कोड घना और लचीला होता है, और अक्सर ऐसे लोगों ने लिखा होता है जो सालों पहले जा चुके हैं। sigils किसी नाम का अर्थ बदल देते हैं, पैकेज क्लास का काम भी करते हैं, और एक ही मॉड्यूल कई डायरेक्टरी की स्क्रिप्ट से लोड होता है। टेक्स्ट सर्च स्ट्रिंग ढूँढ लेता है, लेकिन एजेंट को यह नहीं बताता कि कोई स्क्रिप्ट असल में कौन-सा सबरूटीन कॉल करती है।
Maguyva एजेंट को पैकेज, सबरूटीन, इम्पोर्ट और कंस्ट्रक्टर संरचना के रूप में देता है, ताकि वह कोड छूने से पहले बदलाव का दायरा तय कर सके।
Maguyva .pl, .pm, .t, .pod और .perl को कवर करता है। सबरूटीन फ़ंक्शन के रूप में और package घोषणाएँ क्लास के रूप में निकाली जाती हैं, और परिभाषा नामों से sigils ($, @, %, &, *) हटा दिए जाते हैं, ताकि वेरिएबल और सबरूटीन उनके सीधे नाम से खोजे जा सकें।
इम्पोर्ट use, require और package स्टेटमेंट से आते हैं। Class->new के रूप वाले मेथड कॉल इंस्टैंशिएशन गिने जाते हैं, और bless व tie कॉल ग्राफ़ में जान-बूझकर रखे जाते हैं। ग्राफ़ इनहेरिटेंस, ओवरराइड, टाइप रेफ़रेंस, रीड और राइट, और एक्सेप्शन रेज़ भी दर्ज करता है।
लगभग 189 बिल्ट-इन फ़ंक्शन (print, open, die, warn और इसी तरह के) कॉल संबंधों से फ़िल्टर किए जाते हैं, ताकि रिपॉज़िटरी का कोड अलग दिखे।
Billing::Invoice इस्तेमाल करती हैं, और वे उसके कौन-से सबरूटीन कॉल करती हैं?” (incoming दिशा में dependency_search)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 एंट्री पॉइंट
किसी पैकेज या सबरूटीन नाम के साथ इस्तेमाल करें; sigils हटा दिए जाते हैं, इसलिए सीधे नाम से खोजें।
किसी साझा मॉड्यूल पर incoming ट्रैवर्सल इस्तेमाल करें, ताकि पता चले कि कौन-सी स्क्रिप्ट और पैकेज उस पर निर्भर हैं।
फ़िल्टर किए गए बिल्ट-इन, कॉन्फ़िग कुंजियाँ और उन SQL स्ट्रिंग के लिए इस्तेमाल करें जो कॉल ग्राफ़ से बाहर रहती हैं।
संबंधित गाइड
प्रासंगिक तब जब कोई PHP कोडबेस अब भी राजस्व ला रहा हो, लेकिन कोई नहीं चाहता कि कोई एजेंट उसमें मनमानी करे।
एक्सटेंशन
.php, .php3, .php4, .php5, +2 और
उपयोगी तब जब Python कोडबेस सर्विसेज़, स्क्रिप्ट, टाइप स्टब, और ऑपरेशनल ग्लू में फैल जाए।
एक्सटेंशन
.py, .pyi, .pyw