# Maguyva में PHP सपोर्ट: बिना आंख मूंदे एडिट किए दीर्घजीवी वेब ऐप

Canonical source: https://maguyva.ai/hi/languages/php

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Maguyva, AST पार्सिंग और सिंबल एक्सट्रैक्शन के साथ PHP को सपोर्ट करता है, ताकि AI एजेंट Laravel ऐप, कस्टम फ़्रेमवर्क, WordPress-युग के कोड, और अन्य दीर्घजीवी PHP रिपॉज़िटरी में grep से कहीं ज़्यादा संरचना के साथ नेविगेट कर सकें।

## सपोर्ट स्नैपशॉट

- टियर: AST और सिंबल सपोर्ट
- प्रोग्रामिंग
- एक्सटेंशन: .php, .php3, .php4, .php5, .phps, .phtml
- सिंटैक्स-अवेयर सर्च और स्ट्रक्चरल कॉन्टेक्स्ट के लिए असली AST पार्सिंग।
- नामित सिंबल सिमेंटिक लुकअप और क्रॉस-रेफ़रेंस को फ़ीड करते हैं। रिलेशनशिप एक्सट्रैक्शन सक्षम होने पर ग्राफ़ नेविगेशन उपलब्ध होता है।
- यह भाषा ग्राफ़-अवेयर सर्च में सिंबल्स और रिलेशनशिप्स जोड़ती है; सपोर्टेड एज प्रकार इसके नेटिव कंस्ट्रक्ट्स के अनुसार बदलते हैं।
- AST पार्सिंग और सिंबल एक्सट्रैक्शन, दोनों उपलब्ध हैं।

## सबसे उपयुक्त

- Laravel, कस्टम PHP, या मिश्रित मोनोलिथ रिपॉज़िटरी जो अब भी परिचालन रूप से मायने रखती हैं।
- पुराने वेब एप्लिकेशन मेंटेन करने वाली टीमें, जो अब JavaScript फ़्रंटएंड और इन्फ़्रास्ट्रक्चर कोड के साथ मौजूद हैं।
- AI-सहायता प्राप्त रीफ़ैक्टरिंग कार्य जहां प्राथमिकता मौजूदा फ़्लो को बदलने से पहले उसे समझना है।

## एजेंट वर्कफ़्लो

- एडिट करने से पहले किसी रूट, कंट्रोलर, सर्विस, या साझा हेल्पर पथ को ट्रेस करें।
- नए पैटर्न गढ़ने के बजाय एक परिपक्व PHP कोडबेस में दोहराए गए इम्प्लीमेंटेशन पैटर्न खोजें।
- ऐसे पुराने कोड में संरचना को पुनः प्राप्त करें जो कई फ़्रेमवर्क या होस्टिंग युगों से गुज़रा हो।

## PHP को संरचना-जागरूक सर्च की ज़रूरत क्यों है

PHP इस बात के सबसे स्पष्ट उदाहरणों में से एक है कि व्यापक भाषा सपोर्ट का वास्तविक होना क्यों ज़रूरी है, सिर्फ़ महत्वाकांक्षी होना नहीं। कई महत्वपूर्ण सिस्टम अब भी PHP सिस्टम हैं: Laravel ऐप, पुराने मोनोलिथ, आंतरिक एडमिन टूल, और भारी मात्रा में कस्टमाइज़ किए गए वेब एप्लिकेशन जो हर योजनाबद्ध रीराइट से बचे रहे।

इन रिपॉज़िटरी में समस्या सिंटैक्स नहीं है। यह एक ऐसे कोडबेस से सुरक्षित रूप से संरचना पुनः प्राप्त करने की है जिसे हेल्पर, फ़्रेमवर्क परंपराएं, और स्थानीय शॉर्टकट जमा करने में वर्षों लगे हैं।

## Maguyva वास्तव में PHP में क्या एक्सट्रैक्ट करता है

Maguyva परिभाषाओं से `$` सिजिल हटाता है, मेंबर-प्रीफ़िक्स्ड कॉल्स को नॉर्मलाइज़ करता है, और रिलेशनशिप ग्राफ से PHP बिल्टिन-फ़ंक्शन नॉइज़ की एक बहुत बड़ी मात्रा फ़िल्टर करता है। यह ठीक उसी तरह की सफ़ाई है जिसकी पुराने PHP कोड को सर्च और डिपेंडेंसी व्यू उपयोगी बनने से पहले ज़रूरत होती है।

यह उन फ़ाइल स्वरूपों को भी सपोर्ट करता है जिनका सामना PHP टीमें वास्तव में करती हैं, `.php` और `.phtml` से लेकर पुराने वर्ज़न्ड एक्सटेंशन तक जो अब भी दीर्घजीवी एस्टेट में दिखाई देते हैं।

## दीर्घजीवी PHP ऐप के लिए उपयोगी MCP वर्कफ़्लो

उत्पादक पैटर्न आमतौर पर यह होता है:

- स्थिर नामों वाले कंट्रोलर, सर्विसेज़, मॉडल, या हेल्पर क्लासेज़ के लिए `find_symbol`।
- रूट नामों, हेल्पर कॉल्स, या पुरानी फ़्रेमवर्क परंपराओं के लिए, जब सटीक टेक्स्ट अब भी सबसे तेज़ रास्ता हो, `text_pattern_search`।
- जब कोड पथ अस्त-व्यस्त हो और एडिट करने से पहले आपको एक जुड़ा हुआ सारांश चाहिए हो, तो `get_task_context`।

## यह पेज कब उपयोगी है

यह पेज उन टीमों के लिए है जिनका व्यावहारिक सवाल बस इतना है: "हम अब भी महत्वपूर्ण PHP चलाते हैं।" अगर फ़्रंटएंड आधुनिक JavaScript में है, तो आगे [JavaScript](/hi/languages/javascript) पढ़ें। अगर रिपॉज़िटरी में किनारों पर नई सर्विस या ऑटोमेशन लेयर्स हैं, तो [Python](/hi/languages/python) ज़्यादा प्रासंगिक साथी पेज है।

## इंजन विवरण

- PHP डेफिनिशन से `$` चिह्न हटाता है और मेंबर-प्रीफ़िक्स्ड कॉल को नॉर्मलाइज़ करता है, जिससे पुराने, कई हेल्पर वाले कोड में एक समान तरीक़े से खोज करना आसान होता है।
- सपोर्ट में `.php`, `.php3`, `.php4`, `.php5`, `.phtml`, और `.phps` सहित आम PHP फ़ाइल प्रकार शामिल हैं।
- एक बड़ा बिल्टइन-फ़ंक्शन फ़िल्टर स्टैंडर्ड PHP रनटाइम सरफ़ेस को हटा देता है ताकि ग्राफ़ एप्लिकेशन कोड पर केंद्रित रहे।

## उपयोगी MCP एंट्री पॉइंट

- `find_symbol`: जब रिपॉज़िटरी में अभी भी पहचानने लायक़ सिंबल नाम हों, तब किसी कंट्रोलर, सर्विस, मॉडल, या हेल्पर क्लास के लिए इसका इस्तेमाल करें।
- `text_pattern_search`: जब सिर्फ़ संरचना काफ़ी न हो, तब रूट नामों, हेल्पर कॉल, या पुराने फ़्रेमवर्क कन्वेंशन के लिए इसका इस्तेमाल करें।
- `get_task_context`: पुराने PHP फ़्लो को बदलने से पहले, उसकी अलग-अलग जानकारी को जोड़कर सारांश पाने के लिए उपयोगी।
