PHP (programming language) - Android Tutorials and Updates
test banner

PHP (programming language)

Share This


PHP


PHP: हाइपरटेक्स्ट प्रीप्रोसेसर (या बस PHP) वेब विकास के लिए डिज़ाइन की गई एक सर्वर-साइड स्क्रिप्टिंग भाषा है, लेकिन सामान्य उद्देश्य प्रोग्रामिंग भाषा के रूप में भी उपयोग की जाती है। यह मूल रूप से 1994  में रasmस लेरडोर्फ़ द्वारा बनाया गया था, PHP संदर्भ कार्यान्वयन अब PHP समूह द्वारा उत्पादित किया गया है। PHP मूल रूप से व्यक्तिगत होम पेज के लिए खड़ा था, लेकिन अब यह रिकर्सिव संक्षिप्त नाम PHP: हाइपरटेक्स्ट प्रीप्रोसेसर के लिए खड़ा है।

PHP कोड HTML कोड में एम्बेड किया जा सकता है, या इसका उपयोग विभिन्न वेब टेम्पलेट सिस्टम, वेब सामग्री प्रबंधन प्रणाली और वेब ढांचे के साथ संयोजन में किया जा सकता है। PHP कोड आमतौर पर वेब सर्वर में मॉड्यूल के रूप में या एक सामान्य गेटवे इंटरफेस (सीजीआई) निष्पादन योग्य के रूप में लागू एक PHP दुभाषिया द्वारा संसाधित किया जाता है। वेब सर्वर व्याख्या किए गए और निष्पादित PHP कोड के परिणामों को जोड़ता है, जो जेनरेट किए गए वेब पेज के साथ छवियों सहित किसी भी प्रकार का डेटा हो सकता है। PHP कोड को कमांड लाइन इंटरफेस (सीएलआई) के साथ भी निष्पादित किया जा सकता है और इसका उपयोग स्टैंडअलोन ग्राफिकल अनुप्रयोगों को लागू करने के लिए किया जा सकता है।

जेनेंड इंजन द्वारा संचालित मानक PHP दुभाषिया, PHP लाइसेंस के तहत जारी किया गया मुफ्त सॉफ्टवेयर है। PHP को व्यापक रूप से पोर्ट किया गया है और लगभग हर ऑपरेटिंग सिस्टम और प्लेटफ़ॉर्म पर अधिकांश वेब सर्वर पर तैनात किया जा सकता है।

पीएचपी भाषा 2014 तक एक लिखित औपचारिक विनिर्देश या मानक के बिना विकसित हुई, मूल कार्यान्वयन के साथ वास्तविक तथ्य के रूप में अभिनय किया गया जो अन्य कार्यान्वयन का पालन करना था। 2014 के बाद से औपचारिक PHP विनिर्देश बनाने के लिए काम चल रहा है।

2010 के दशक में पीएसआर पहलों के साथ-साथ संगीतकार निर्भरता प्रबंधक और संबंधित पैकेजिस्ट रिपोजिटरी के रूप में PHP-FIG जैसी परियोजनाओं द्वारा PHP अनुप्रयोगों में मानकीकरण और कोड साझाकरण की दिशा में प्रयासों में वृद्धि हुई है। PHP, फ्रेमवर्क-विशिष्ट ज्ञान की आवश्यकता वाले वेब ढांचे की एक विविध श्रृंखला को होस्ट करता है, जिसमें हाल ही में लैरवेल ने रूबी ऑन रेल जैसे अन्य प्रतिस्पर्धी गैर-PHP वेब ढांचे से लोकप्रिय विचारों को शामिल करके लोकप्रिय विकल्प के रूप में उभरते हुए लोकप्रिय विकल्प के रूप में उभर दिया है।


History


PHP विकास 1994 में शुरू हुआ जब रasmस लेरडोर्फ़ ने सी में कई आम गेटवे इंटरफेस (सीजीआई) कार्यक्रम लिखे, जो उन्होंने अपना निजी होमपेज बनाए रखा। उन्होंने उन्हें वेब रूपों के साथ काम करने और डेटाबेस के साथ संवाद करने के लिए विस्तारित किया, और इस कार्यान्वयन को "व्यक्तिगत होम पेज / फॉर्म इंटरप्रेटर" या PHP / FI कहा।

PHP, FI का उपयोग सरल, गतिशील वेब अनुप्रयोगों के निर्माण के लिए किया जा सकता है। बग रिपोर्टिंग में तेजी लाने और कोड को बेहतर बनाने के लिए, लेरडोर्फ़ ने शुरुआत में 8 जून,1995 को यूज़नेट चर्चा समूह comp.infosystems.www.authoring.cgi पर "पर्सनल होम पेज टूल्स (पीएचपी टूल्स) संस्करण 1.0" के रूप में PHP / FI की रिलीज की घोषणा की। ।इस रिलीज में पहले से ही बुनियादी कार्यक्षमता थी जो PHP आज है। इसमें पर्ल-जैसी चर, फॉर्म हैंडलिंग और HTML को एम्बेड करने की क्षमता शामिल थी। सिंटैक्स पर्ल की तरह दिखता है, लेकिन सरल, अधिक सीमित और कम संगत था।

शुरुआती PHP का उद्देश्य एक नई प्रोग्रामिंग भाषा नहीं बनना था, और कार्बोर्फ़ के साथ पूर्व में बढ़ने के लिए व्यवस्थित रूप से वृद्धि हुई: "मुझे नहीं पता कि इसे कैसे रोकें, प्रोग्रामिंग भाषा लिखने का कोई इरादा कभी नहीं था मेरे पास है पूरी तरह से कोई प्रोग्रामिंग भाषा लिखने का कोई विचार नहीं है, मैंने अभी भी अगले तार्किक कदम को रास्ते में रखा है। " एक विकास दल ने फॉर्म शुरू किया और महीनों के काम और बीटा परीक्षण के बाद, आधिकारिक तौर पर नवंबर में PHP / FI 2 जारी किया गया 1997।

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

PHP 3 and 4

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

22 मई, 2000 को, जेड इंजन 1.0 द्वारा संचालित PHP 4 जारी किया गया था।अगस्त 2008 तक यह शाखा संस्करण 4.4.9 पर पहुंच गई। PHP 4 अब विकास में नहीं है और न ही कोई सुरक्षा अपडेट जारी किया जाएगा

PHP 5

14 जुलाई, 2004 को, PHP 5 जारी किया गया था, जो नए ज़ेंड इंजन II द्वारा संचालित था। PHP 5 में ऑब्जेक्ट उन्मुख प्रोग्रामिंग, PHP डेटा ऑब्जेक्ट्स (पीडीओ) एक्सटेंशन (जो डाटाबेस तक पहुंचने के लिए हल्के और लगातार इंटरफ़ेस को परिभाषित करता है) के लिए बेहतर समर्थन जैसे कई सुविधाएं शामिल हैं, और कई प्रदर्शन संवर्धन। 2008 में PHP 5 विकास के तहत एकमात्र स्थिर संस्करण बन गया। देर से स्थिर बाध्यकारी PHP से गायब था और संस्करण 5.3 में जोड़ा गया था।

जीओपीएचपी 5 पहल की वजह से कई उच्च-प्रोफ़ाइल ओपन-सोर्स प्रोजेक्ट्स ने 5 फरवरी, 2008 को नए कोड में PHP 4 का समर्थन करना बंद कर दिया, PHP 4 से PHP 5 के संक्रमण को बढ़ावा देने वाले PHP डेवलपर्स के एक संघ द्वारा प्रदान किया गया।

समय के साथ, पीएचपी दुभाषिया सबसे मौजूदा 32-बिट और 64-बिट ऑपरेटिंग सिस्टम पर उपलब्ध होते हैं, या तो उन्हें PHP स्रोत कोड से बनाकर, या पूर्व-निर्मित बाइनरी का उपयोग करके। PHP संस्करण 5.3 और 5.4 के लिए, एकमात्र उपलब्ध माइक्रोसॉफ्ट विंडोज बाइनरी वितरण 32-बिट x86 बिल्ड थे, 64-बिट विंडोज प्लेटफ़ॉर्म पर इंटरनेट इनफॉर्मेशन सर्विसेज (आईआईएस) का उपयोग करते समय विंडोज 32-बिट संगतता मोड की आवश्यकता होती है । PHP संस्करण 5.5 ने 64-बिट x86-64 माइक्रोसॉफ्ट विंडोज के लिए उपलब्ध कराया.

PHP 6 and UNICODE

मूल भाषा स्तर पर मूल यूनिकोड समर्थन की कमी के कारण PHP को मिश्रित समीक्षा मिली 2005 में, एंडी ज़्मीवेस्की की अध्यक्षता वाली एक परियोजना को यूनिकोड (आईसीयू) पुस्तकालय के अंतर्राष्ट्रीय घटक एम्बेड करके और आंतरिक रूप से यूटीएफ -16 के रूप में टेक्स्ट स्ट्रिंग का प्रतिनिधित्व करके, पूरे PHP में देशी यूनिकोड समर्थन लाने के लिए शुरू किया गया था। Since इससे भाषा और उपयोगकर्ता कोड के आंतरिक दोनों में बड़े बदलाव आएंगे, इसलिए इसे विकास के बाद अन्य प्रमुख विशेषताओं के साथ भाषा के संस्करण 6.0 के रूप में रिलीज़ करने की योजना बनाई गई थी।

हालांकि, आवश्यक परिवर्तनों को समझने वाले डेवलपर्स की कमी, और यूटीएफ -16 से रूपांतरण से उत्पन्न होने वाली प्रदर्शन समस्याओं, जिसे शायद ही कभी वेब संदर्भ में उपयोग किया जाता है, ने परियोजना में देरी की। नतीजतन, 200 9 में एक PHP 5.3 रिलीज बनाया गया था, जिसमें कई गैर-यूनिकोड फीचर्स PHP 6, विशेष रूप से नेमस्पेस से बैक-पोर्ट किए गए थे। मार्च 2010 में, परियोजना को अपने वर्तमान रूप में आधिकारिक तौर पर त्याग दिया गया था, और एक PHP 5.4 रिलीज तैयार किया गया था जिसमें PHP 6 से अधिकांश शेष गैर-यूनिकोड विशेषताएं शामिल हैं, जैसे लक्षण और बंद करने के पुन: बाध्यकारी। प्रारंभिक उम्मीदें थीं कि यूनिकोड एकीकरण के लिए एक नई योजना बनाई जाएगी, लेकिन 2014 तक कोई भी अपनाया नहीं गया था।

PHP 7

2014 और 2015 के दौरान, एक नया प्रमुख PHP संस्करण विकसित किया गया था, जिसे PHP 7 क्रमांकित किया गया था। इस संस्करण की संख्या में कुछ बहस शामिल थी। जबकि PHP 6 यूनिकोड प्रयोग कभी जारी नहीं किया गया था, कई लेख और पुस्तक शीर्षकों ने PHP 6 नाम का संदर्भ दिया, जो कि एक नई रिलीज नाम का पुन: उपयोग करने के लिए भ्रम पैदा कर सकता था। वोट के बाद, PHP 7 नाम चुना गया था।

PHP 7 की नींव एक PHP शाखा है जिसे मूल रूप से PHP अगली पीढ़ी (phpng) कहा जाता है। यह दिमित्री स्टोगोव, ज़िंचन हुई और निकिता पॉपोव द्वारा लिखी गई थी, और लक्ष्य पूर्ण संगतता को बनाए रखने के दौरान ज़ेंड इंजन को पुन: सक्रिय करके PHP प्रदर्शन को अनुकूलित करना था। 14 जुलाई 2014 तक, वर्डप्रेस-आधारित मानक, जो phpng प्रोजेक्ट के लिए मुख्य बेंचमार्क सूट के रूप में कार्य करता था, ने प्रदर्शन में लगभग 100% की वृद्धि देखी। Phpng से किए गए परिवर्तनों से भी भविष्य में प्रदर्शन में सुधार करना आसान हो जाएगा, क्योंकि अधिक कॉम्पैक्ट डेटा संरचनाएं और अन्य परिवर्तनों को एक समय-समय पर (JIT) कंपाइलर के सफल माइग्रेशन के लिए बेहतर अनुकूल माना जाता है। महत्वपूर्ण परिवर्तनों के कारण, पुन: कार्यरत ज़ेंड इंजन को ज़ेंड इंजन 3 कहा जाता है, जो PHP 5 में उपयोग किए जाने वाले ज़ेंड इंजन 2 का सफल होता है।

PHP की रिलीज प्रक्रिया के अनुसार, phpng में प्रमुख आंतरिक परिवर्तनों के कारण, इसे एक मामूली PHP 5 रिलीज के बजाय PHP का एक नया प्रमुख संस्करण संख्या प्राप्त करनी होगी। PHP के प्रमुख संस्करणों को कोड की पिछड़े-संगतता को तोड़ने की अनुमति है और इसलिए PHP 7 ने phpng से परे अन्य सुधारों का अवसर प्रस्तुत किया है जिसके लिए पिछड़े-संगतता ब्रेक की आवश्यकता होती है। विशेष रूप से, इसमें निम्नलिखित परिवर्तन शामिल थे:
  1. कई घातक- या पुनर्प्राप्ति योग्य स्तर की विरासत PHP त्रुटि तंत्र को आधुनिक ऑब्जेक्ट उन्मुख अपवादों के साथ प्रतिस्थापित किया गया था
  2. परिवर्तनीय dereferencing के लिए वाक्यविन्यास को आंतरिक रूप से अधिक सुसंगत और पूर्ण होने के लिए पुन: कार्य किया गया था, ऑपरेटरों ->, [], (), {}, और :: के मनमाने ढंग से सार्थक बाएं हाथ की तरफ अभिव्यक्तियों के उपयोग की अनुमति

  3. विरासत PHP 4-शैली कन्स्ट्रक्टर विधियों के लिए समर्थन बहिष्कृत किया गया था

  4. Foreach कथन का व्यवहार अधिक अनुमानित होने के लिए बदला गया था

  5. पीएचपी में निर्मित कुछ वर्गों के लिए रचनाकार जो असफलता पर शून्य लौट आए थे, स्थिरता के लिए अपवाद फेंकने के लिए बदल दिए गए

  6. कई अनियमित या बहिष्कृत सर्वर अनुप्रयोग प्रोग्रामिंग इंटरफेस (एसएपीआई) और एक्सटेंशन को PHP कोर से हटा दिया गया था, विशेष रूप से विरासत mysql एक्सटेंशन

  7. स्ट्रिंग्स के समर्थन को हटाने के लिए सूची () ऑपरेटर का व्यवहार बदल दिया गया था

  8. विरासत एएसपी-शैली PHP कोड delimiters (<% और%>, <script language = php> और </ script>) के लिए समर्थन हटा दिया गया था

  9. एक स्विच स्टेटमेंट को कई डिफ़ॉल्ट क्लॉज रखने की इजाजत दी गई थी

  10. स्ट्रिंग्स से लेकर संख्या प्रकारों के कुछ अंतर्निहित रूपांतरणों में हेक्साडेसिमल संख्या समर्थन के लिए समर्थन हटा दिया गया था

  11. प्लेटफ़ॉर्म पर अधिक लगातार व्यवहार करने के लिए बाएं-शिफ्ट और दाएं-शिफ्ट ऑपरेटर बदल दिए गए थे

  12. पूर्णांक और फ़्लोटिंग पॉइंट नंबरों के बीच रूपांतरण कड़े किए गए और प्लेटफार्मों में लगातार लगातार लागू किए गए

PHP 7 में नई भाषा सुविधाएं भी शामिल थीं। सबसे विशेष रूप से, यह कार्यों के लिए रिटर्न प्रकार घोषणाएं प्रस्तुत करता है, जो पैरामीटर में मौजूदा पैरामीटर प्रकार घोषणाओं, और स्केलर प्रकारों (पूर्णांक, फ्लोट, स्ट्रिंग, और बूलियन) के लिए समर्थन और वापसी प्रकार घोषणाओं के पूरक हैं।

28 जून, 2011 को शुरू होने से, PHP समूह ने PHP के नए संस्करणों के रिलीज के लिए एक समयरेखा लागू की।  इस प्रणाली के तहत, कम से कम एक रिलीज हर महीने होनी चाहिए। प्रति वर्ष एक बार, एक मामूली रिलीज होनी चाहिए जिसमें नई सुविधाएं शामिल हो सकती हैं। प्रत्येक मामूली रिलीज के लिए तीन साल की रिलीज प्रक्रिया के लिए प्रत्येक मामूली रिलीज को कम से कम दो साल तक सुरक्षा और बग फिक्स के साथ समर्थित किया जाना चाहिए, इसके बाद केवल सुरक्षा सुधारों में से कम से कम एक वर्ष का होना चाहिए। तीन साल की रिलीज प्रक्रिया के दौरान मामूली रिलीज में छोटे और आत्मनिर्भर होने तक कोई नई विशेषताएं पेश नहीं की जानी चाहिए।


Mascot


PHP प्रोजेक्ट का शुभंकर elepHPant है, जो 1 99 8 में विन्सेंट पोंटियर द्वारा डिजाइन किए गए PHP लोगो के साथ एक नीली हाथी है। आलीशान खिलौने के रूप में जब कभी-कभी elePHPant अलग-अलग रंग होता है।

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

Syntax

वह "हैलो, वर्ल्ड!" का पालन करता है कार्यक्रम एक HTML दस्तावेज़ में एम्बेडेड PHP कोड में लिखा गया है :

<!DOCTYPE html>
<html>
 <head>
 <title> PHP Test </title>
 </head>
 <body>
 <?php echo '<p>Hello World</p>'; ?>
 </body>
</html>

हालांकि, एचटीएमएल में PHP कोड को एम्बेड करने के लिए कोई आवश्यकता नहीं है, हैलो, वर्ल्ड का सबसे सरल संस्करण! शुद्ध PHP कोड वाली फाइलों में पसंदीदा के रूप में छोड़े गए बंद टैग के साथ इस तरह लिखा जा सकता है.

<?='Hello world';

PHP दुभाषिया केवल अपने delimiters के भीतर PHP कोड निष्पादित करता है। इसके delimiters के बाहर कुछ भी PHP द्वारा संसाधित नहीं है, हालांकि गैर PHP पाठ अभी भी PHP कोड में वर्णित नियंत्रण संरचनाओं के अधीन है। PHP अनुभागों को बंद करने के लिए सबसे आम delimiters <? Php खोलने और?> हैं। संक्षिप्त रूप <? भी मौजूद है यह छोटा डेलीमीटर स्क्रिप्ट फाइलों को कम पोर्टेबल बनाता है, क्योंकि उनके लिए समर्थन स्थानीय PHP कॉन्फ़िगरेशन में अक्षम किया जा सकता है और इसलिए इसे निराश किया जाता है। हालांकि, गूंज लघु टैग के उपयोग के खिलाफ कोई सिफारिश नहीं है <? =। [9 4] PHP 5.4.0 से पहले, echo () के लिए यह छोटा वाक्यविन्यास केवल short_open_tag कॉन्फ़िगरेशन सेटिंग सक्षम है, जबकि PHP 5.4.0 के लिए और बाद में यह हमेशा उपलब्ध रहता है। इन सभी डिलीमीटरों का उद्देश्य PHP कोड को गैर-PHP सामग्री, जैसे जावास्क्रिप्ट कोड या HTML मार्कअप से अलग करना है।

एक्सएचटीएमएल और अन्य एक्सएमएल दस्तावेज़ों में, delimiters का पहला रूप, <? Php और?>, सही ढंग से गठित XML प्रसंस्करण निर्देश बनाता है। इसका मतलब है कि सर्वर-साइड फ़ाइल में PHP कोड और अन्य मार्कअप का परिणामी मिश्रण स्वयं अच्छी तरह से गठित एक्सएमएल है।

वैरिएबल एक डॉलर के प्रतीक के साथ prefixed हैं, और एक प्रकार को पहले से निर्दिष्ट करने की आवश्यकता नहीं है। PHP 5 ने टाइप संकेत दिया जो फ़ंक्शंस को उनके पैरामीटर को एक विशिष्ट वर्ग, सरणी, इंटरफेस या कॉलबैक फ़ंक्शंस के ऑब्जेक्ट्स को मजबूर करने की अनुमति देता है। हालांकि, PHP 7.0 से पहले, प्रकार संकेतों का उपयोग स्केलर प्रकारों जैसे पूर्णांक या स्ट्रिंग के साथ नहीं किया जा सकता था।

फ़ंक्शन और क्लास नामों के विपरीत, परिवर्तनीय नाम केस संवेदनशील होते हैं। दोनों डबल-उद्धृत ("") और हेरेडोक तार स्ट्रिंग में चर के मान को अलग करने की क्षमता प्रदान करते हैं। [99] पीएचपी न्यूलाइन को फ्री-फॉर्म भाषा के तरीके में व्हाइटस्पेस के रूप में मानता है, और बयान अर्धविराम से समाप्त होता है। PHP में तीन प्रकार की टिप्पणी वाक्यविन्यास है: / * * / अंक ब्लॉक और इनलाइन टिप्पणियां; // या # एक-पंक्ति टिप्पणियों के लिए उपयोग किया जाता है। इको कथन कई सुविधाओं में से एक है PHP, आउटपुट टेक्स्ट को प्रदान करता है, उदाहरण के लिए, एक वेब ब्राउज़र पर।

कीवर्ड और भाषा वाक्यविन्यास के संदर्भ में, PHP सी शैली वाक्यविन्यास के समान है। यदि परिस्थितियां, लूप के लिए, और फ़ंक्शन रिटर्न सी, सी ++, सी #, जावा और पर्ल जैसी भाषाओं में वाक्यविन्यास में समान हैं।

Data Types

PHP प्लेटफ़ॉर्म-निर्भर श्रेणी में पूर्णांक को स्टोर करता है, या तो 64-बिट या 32-बिट हस्ताक्षरित पूर्णांक सी-भाषा लंबे प्रकार के बराबर होता है। असाइन किए गए पूर्णांक कुछ स्थितियों में हस्ताक्षरित मानों में परिवर्तित हो जाते हैं; यह व्यवहार अन्य प्रोग्रामिंग भाषाओं से अलग है। इंटीजर चर को दशमलव (सकारात्मक और नकारात्मक), ऑक्टल, हेक्साडेसिमल, और बाइनरी नोटेशन का उपयोग करके असाइन किया जा सकता है।

फ़्लोटिंग पॉइंट नंबर प्लेटफ़ॉर्म-विशिष्ट श्रेणी में भी संग्रहीत किए जाते हैं। उन्हें फ़्लोटिंग पॉइंट नोटेशन, या वैज्ञानिक नोटेशन के दो रूपों का उपयोग करके निर्दिष्ट किया जा सकता है। PHP में मूल बूलियन प्रकार है जो जावा और सी ++ में मूल बुलीयन प्रकारों के समान है। बूलियन प्रकार रूपांतरण नियमों का उपयोग करके, गैर-शून्य मानों को गलत और शून्य के रूप में व्याख्या किया जाता है, जैसा कि पर्ल और सी ++ में है।

शून्य डेटा प्रकार एक चर का प्रतिनिधित्व करता है जिसका कोई मूल्य नहीं है; इस डेटा प्रकार के लिए NULL एकमात्र अनुमत मूल्य है।

"संसाधन" प्रकार के चर बाहरी स्रोतों से संसाधनों के संदर्भ दर्शाते हैं। ये आमतौर पर किसी विशेष एक्सटेंशन से फ़ंक्शंस द्वारा बनाए जाते हैं, और केवल उसी एक्सटेंशन से फ़ंक्शंस द्वारा संसाधित किया जा सकता है; उदाहरणों में फ़ाइल, छवि और डेटाबेस संसाधन शामिल हैं।

Arrays में किसी भी प्रकार के तत्व हो सकते हैं जो PHP संभाल सकता है, जिसमें संसाधन, वस्तुएं और यहां तक ​​कि अन्य सरणी भी शामिल हैं। ऑर्डर मूल्यों की सूचियों और हैश में दोनों कुंजी और मूल्यों के साथ संरक्षित है, और दोनों को अंतःस्थापित किया जा सकता है। PHP स्ट्रिंग का भी समर्थन करता है, जिसका उपयोग सिंगल कोट्स, डबल कोट्स, नोडोक या हेरेडोक सिंटैक्स के साथ किया जा सकता है।

मानक PHP लाइब्रेरी (एसपीएल) मानक समस्याओं को हल करने और कुशल डेटा पहुंच इंटरफेस और कक्षाओं को लागू करने का प्रयास करता है।

Functions

PHP कोर भाषा में कार्यों की एक बड़ी श्रृंखला को परिभाषित करता है और कई विभिन्न एक्सटेंशन में भी उपलब्ध हैं; इन कार्यों को ऑनलाइन PHP दस्तावेज़ीकरण में अच्छी तरह से प्रलेखित किया गया है। हालांकि, अंतर्निहित इतिहास के तहत वर्णित अनुसार, अंतर्निहित लाइब्रेरी में विभिन्न प्रकार के नामकरण सम्मेलनों और संबंधित असंगतताएं हैं।

कस्टम फ़ंक्शंस डेवलपर द्वारा परिभाषित किया जा सकता है, उदाहरण :

function myAge(Int $birthYear) : String
// defines a function, this one is named "myAge"

 $yearsOld = date('Y') - $birthYear; // calculates the age
 return $yearsOld . ' year' . ($yearsOld != 1 ? 's' : '');

// returns the age in a descriptive form
}

echo 'I am currently ' . myAge(1995) . ' old.';

// outputs the text concatenated
// with the return value of myAge()
// As the result of this syntax, myAge() is called.

2018 में, उपर्युक्त नमूना कार्यक्रम का उत्पादन 'मैं वर्तमान में 23 वर्ष का हूं।'

फ़ंक्शन पॉइंटर्स के बदले, PHP में फ़ंक्शंस को उनके नाम वाले स्ट्रिंग द्वारा संदर्भित किया जा सकता है। इस तरह, सामान्य PHP फ़ंक्शंस का उपयोग किया जा सकता है, उदाहरण के लिए, कॉलबैक या फ़ंक्शन टेबल के अंदर। उपयोगकर्ता द्वारा परिभाषित कार्यों को प्रोटोटाइप किए बिना किसी भी समय बनाया जा सकता है। फ़ंक्शंस को कोड ब्लॉक के अंदर परिभाषित किया जा सकता है, यह एक रन-टाइम निर्णय की अनुमति देता है कि फ़ंक्शन को परिभाषित किया जाना चाहिए या नहीं। एक function_exists फ़ंक्शन है जो निर्धारित करता है कि किसी दिए गए नाम वाले फ़ंक्शन को पहले ही परिभाषित किया गया है या नहीं। फंक्शन कॉल को PHP ऑपरेटर के साथ बुलाए गए शून्य-तर्क वर्ग कन्स्ट्रक्टर फ़ंक्शंस के अपवाद के साथ, कोष्ठक का उपयोग करना चाहिए, जिसमें मामले कोष्ठक वैकल्पिक हैं।

PHP 5.3 तक, अज्ञात कार्यों और बंद करने के लिए समर्थन PHP में मौजूद नहीं था। जबकि create_function () PHP 4.0.1 के बाद मौजूद है, यह केवल eval () के आसपास एक पतला रैपर है जो प्रोग्राम निष्पादन के दौरान सामान्य PHP फ़ंक्शंस को बनाने की अनुमति देता है। PHP 5.3 ने अज्ञात फ़ंक्शन या "क्लोजर" को परिभाषित करने के लिए वाक्यविन्यास जोड़ा जो आसपास के दायरे से चर को कैप्चर कर सकता है:

function getAdder($x) {
 return function($y) use ($x) {
 return $x + $y;
 };
}
$adder = getAdder(8);
echo $adder(2); // prints "10"

उपरोक्त उदाहरण में, getAdder () फ़ंक्शन उत्तीर्ण तर्क $ x का उपयोग करके बंद कर देता है (कीवर्ड उपयोग लेक्सिकल संदर्भ से एक चर आयात करता है), जो अतिरिक्त तर्क $ y लेता है, और कॉलर को बनाए गए बंद को लौटाता है। ऐसा कार्य एक प्रथम श्रेणी की वस्तु है, जिसका अर्थ है कि इसे एक चर में संग्रहीत किया जा सकता है, जो अन्य कार्यों के पैरामीटर के रूप में पारित किया जाता है।

असामान्य रूप से गतिशील रूप से टाइप की गई भाषा के लिए, PHP फ़ंक्शन पैरामीटर पर प्रकार की घोषणाओं का समर्थन करता है, जिन्हें रनटाइम पर लागू किया जाता है। यह पीएचपी 5.0 के बाद से PHP 5.0 के बाद से कक्षाओं और इंटरफेस के लिए समर्थित है, PHP 5.4 के बाद से "कॉलबेल" के लिए, और PHP 7.0 के बाद स्केलर (पूर्णांक, फ्लोट, स्ट्रिंग और बूलियन) प्रकार। PHP 7.0 में फ़ंक्शन रिटर्न प्रकारों के लिए प्रकार की घोषणाएं भी होती हैं, जो कॉलम से पहले पैरामीटर की सूची के बाद टाइप नाम रखकर व्यक्त की जाती हैं। उदाहरण के लिए, पहले उदाहरण से getAdder फ़ंक्शन को PHP 7 में ऐसे प्रकारों के साथ एनोटेट किया जा सकता है:

function getAdder(int $x): \Closure {
 return function(int $y) use ($x) : int {
 return $x + $y;
 };
}
$adder = getAdder(8);
echo $adder(2); 
// prints "10"
echo $adder(null); 
// throws an exception because an incorrect type was passed
$adder = getAdder([]); 
// would also throw an exception

डिफ़ॉल्ट रूप से, स्केलर प्रकार की घोषणा कमजोर टाइपिंग सिद्धांतों का पालन करती है। तो, उदाहरण के लिए, यदि पैरामीटर का प्रकार int है, तो PHP न केवल पूर्णांक की अनुमति देगा, बल्कि परिवर्तनीय संख्यात्मक तार, फ्लोट या बूलियन को उस फ़ंक्शन में पारित करने की अनुमति देगा, और उन्हें परिवर्तित करेगा। हालांकि, PHP 7 में "सख्त टाइपिंग" मोड है, जिसका उपयोग किया जाता है, फ़ंक्शन कॉल के लिए ऐसे रूपांतरणों को अस्वीकार करता है और फ़ाइल में लौटाता है।

PHP Objects

मूल ऑब्जेक्ट उन्मुख प्रोग्रामिंग कार्यक्षमता PHP 3 में जोड़ा गया था और PHP 4 में सुधार हुआ था। इसने PHP को और अधिक अमूर्तता हासिल करने की इजाजत दी, जिससे रचनात्मक कार्यों को भाषा का उपयोग करके प्रोग्रामर के लिए आसान बना दिया गया। ऑब्जेक्ट हैंडलिंग को PHP 5 के लिए पूरी तरह से लिखा गया था, फीचर सेट का विस्तार और प्रदर्शन को बढ़ाया गया था। PHP के पिछले संस्करणों में, वस्तुओं को मूल्य प्रकारों की तरह संभाला गया था। इस विधि की कमी यह थी कि कोड को PHP के "संदर्भ" चर का भारी उपयोग करना पड़ता था, अगर वह उस वस्तु को संशोधित करना चाहता था जो इसे कॉपी करने के बजाए पारित किया गया था। नए दृष्टिकोण में, वस्तुओं को हैंडल द्वारा संदर्भित किया जाता है, न कि मूल्य से।

PHP 5 ने अमूर्त वर्ग, अंतिम कक्षाएं, सार विधियों और अंतिम विधियों के साथ निजी और संरक्षित सदस्य चर और विधियों को पेश किया। इसने कन्स्ट्रक्टर और विनाशकों को घोषित करने का एक मानक तरीका भी पेश किया, जैसे अन्य ऑब्जेक्ट-उन्मुख भाषाओं जैसे कि सी ++, और एक मानक अपवाद हैंडलिंग मॉडल। इसके अलावा, PHP 5 ने इंटरफेस जोड़े और कई इंटरफेस लागू करने की अनुमति दी। ऐसे विशेष इंटरफेस हैं जो वस्तुओं को रनटाइम सिस्टम के साथ संवाद करने की अनुमति देते हैं। ArrayAccess को लागू करने वाले ऑब्जेक्ट्स का उपयोग सरणी वाक्यविन्यास के साथ किया जा सकता है और Iterator या IteratorAggregate को लागू करने वाली वस्तुओं को फ़ोरैच भाषा निर्माण के साथ उपयोग किया जा सकता है। इंजन में कोई वर्चुअल टेबल सुविधा नहीं है, इसलिए संकलन समय पर संदर्भ के बजाय स्थैतिक चर नाम के साथ बाध्य हैं।

यदि डेवलपर आरक्षित शब्द क्लोन का उपयोग करके किसी ऑब्जेक्ट की एक प्रति बनाता है, तो ज़ेंड इंजन यह जांच करेगा कि __clone () विधि परिभाषित की गई है या नहीं। यदि नहीं, तो यह डिफ़ॉल्ट __clone () को कॉल करेगा जो ऑब्जेक्ट की गुणों की प्रतिलिपि बनायेगा। यदि __clone () विधि परिभाषित की गई है, तो यह बनाए गए ऑब्जेक्ट में आवश्यक गुणों को सेट करने के लिए ज़िम्मेदार होगा। सुविधा के लिए, इंजन एक ऐसे फ़ंक्शन की आपूर्ति करेगा जो स्रोत ऑब्जेक्ट के गुणों को आयात करता है, इसलिए प्रोग्रामर स्रोत ऑब्जेक्ट की बाय-वैल्यू प्रतिकृति के साथ शुरू कर सकता है और केवल उन गुणों को ओवरराइड कर सकता है जिन्हें बदलने की आवश्यकता है।

निम्नलिखित PHP में ऑब्जेक्ट उन्मुख प्रोग्रामिंग का मूल उदाहरण है:

class Person
{
 public $firstName;
 public $lastName;

 public function __construct($firstName, $lastName = '') {
 // optional second argument
 $this->firstName = $firstName;
 $this->lastName = $lastName;
 }

 public function greet() {
 return 'Hello, my name is ' . $this->firstName .
 (($this->lastName != '') ? (' ' . $this->lastName) : '') . '.';
 }

 public static function staticGreet($firstName, $lastName) {
 return 'Hello, my name is ' . $firstName . ' ' . $lastName . '.';
 }
}

$he = new Person('John', 'Smith');
$she = new Person('Sally', 'Davis');
$other = new Person('iAmine');

echo $he->greet();
// prints "Hello, my name is John Smith."
echo '<br />';

echo $she->greet();
// prints "Hello, my name is Sally Davis."
echo '<br />';

echo $other->greet();
// prints "Hello, my name is iAmine."
echo '<br />';

echo Person::staticGreet('Jane', 'Doe'); 
// prints "Hello, my name is Jane Doe."

PHP गुणों और विधियों की दृश्यता को सार्वजनिक, निजी और संरक्षित कीवर्ड का उपयोग करके परिभाषित किया जाता है। डिफ़ॉल्ट सार्वजनिक है, अगर केवल var का उपयोग किया जाता है; var जनता के लिए समानार्थी है। घोषित वस्तुओं को सार्वजनिक रूप से हर जगह पहुंचा जा सकता है। वंचित वर्गों तक पहुंच सीमित सीमा (और उस वर्ग को जो आइटम को परिभाषित करता है)। केवल उस वर्ग को निजी सीमा दृश्यता जो आइटम को परिभाषित करता है। उसी प्रकार के ऑब्जेक्ट्स के पास एक-दूसरे के निजी और संरक्षित सदस्यों तक पहुंच होती है, भले ही वे एक ही उदाहरण न हों। PHP की सदस्य दृश्यता सुविधाओं को कभी-कभी "अत्यधिक उपयोगी" के रूप में वर्णित किया गया है। हालांकि, उन्हें कभी-कभी "सबसे अच्छा अप्रासंगिक और सबसे खराब सकारात्मक रूप से हानिकारक" के रूप में वर्णित किया गया है।


Development and Community


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

PHP डेवलपर्स को PHP भाषा में कार्यक्षमता जोड़ने के लिए सी में एक्सटेंशन लिखने की अनुमति देता है। PHP एक्सटेंशन को स्थिर रूप से PHP में संकलित किया जा सकता है या रनटाइम पर गतिशील रूप से लोड किया जा सकता है। विंडोज एपीआई के लिए समर्थन जोड़ने के लिए कई एक्सटेंशन लिखे गए हैं, यूनिक्स-जैसे ऑपरेटिंग सिस्टम पर प्रोसेस मैनेजमेंट, मल्टीबाइट स्ट्रिंग्स (UNICODE), कर्ल, और कई लोकप्रिय संपीड़न प्रारूप। एक्सटेंशन के माध्यम से उपलब्ध कराई गई अन्य PHP सुविधाओं में आईआरसी के साथ एकीकरण, छवियों की गतिशील पीढ़ी और एडोब फ्लैश सामग्री, PHP डेटा ऑब्जेक्ट्स (PDO) डेटाबेस को एक्सेस करने के लिए उपयोग की जाने वाली एक अमूर्त परत के रूप में शामिल है, और यहां तक ​​कि भाषण संश्लेषण भी। भाषा के कुछ मुख्य कार्यों, जैसे तारों और सरणी से निपटने वाले, को एक्सटेंशन के रूप में भी लागू किया जाता है। PHP एक्सटेंशन समुदाय लाइब्रेरी (PECL) प्रोजेक्ट PHP भाषा के विस्तार के लिए एक भंडार है।

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

पीएचपी ग्रुप में दस लोग शामिल हैं (2015 तक): थिस सी। आर्टेज़ेन, स्टिग बेककेन, शेन कैरवे, एंडी गुटमैन, रasmस लेरडोर्फ़, सैम रूबी, सास्चा श्यूमन, ज़ीव सुरस्की, जिम विनस्टेड, आंद्रेई ज़्मिवेस्की।

ज़ेंड टेक्नोलॉजीज प्रोग्रामर के लिए प्रमाणित PHP डेवलपर बनने के लिए PHP 5.5 परीक्षा के आधार पर एक PHP प्रमाणन प्रदान करता है।


Installation and Configuration


किसी वेब सर्वर पर PHP के लिए समर्थन जोड़ने के लिए दो प्राथमिक तरीके हैं - मूल वेब सर्वर मॉड्यूल के रूप में, या एक CGI निष्पादन योग्य के रूप में। PHP में एक प्रत्यक्ष मॉड्यूल इंटरफ़ेस है जिसे सर्वर एप्लिकेशन प्रोग्रामिंग इंटरफेस (एसएपीआई) कहा जाता है, जो अपाचे HTTP सर्वर, माइक्रोसॉफ्ट आईआईएस, नेटस्केप (अब निष्क्रिय) और iPlanet सहित कई वेब सर्वरों द्वारा समर्थित है। कुछ अन्य वेब सर्वर, जैसे OmniHTTPd, इंटरनेट सर्वर एप्लिकेशन प्रोग्रामिंग इंटरफेस (आईएसएपीआई) का समर्थन करते हैं, जो माइक्रोसॉफ्ट के वेब सर्वर मॉड्यूल इंटरफेस है। यदि PHP के पास वेब सर्वर के लिए कोई मॉड्यूल समर्थन नहीं है, तो इसे हमेशा कॉमन गेटवे इंटरफेस (सीजीआई) या फास्टसीजीआई प्रोसेसर के रूप में उपयोग किया जा सकता है; उस स्थिति में, वेब सर्वर को PHP फ़ाइलों के सभी अनुरोधों को संसाधित करने के लिए PHP के CGI निष्पादन योग्य का उपयोग करने के लिए कॉन्फ़िगर किया गया है।

PHP-FPM (FastCGI प्रोसेस मैनेजर) PHP के लिए एक वैकल्पिक फास्टसीजीआई कार्यान्वयन है, जो संस्करण 5.3.3 के बाद से आधिकारिक PHP वितरण के साथ बंडल किया गया है। पुराने फास्टसीजीआई कार्यान्वयन की तुलना में, इसमें कुछ अतिरिक्त सुविधाएं होती हैं, जो अधिकतर लोड किए गए वेब सर्वरों के लिए अधिक उपयोगी होती हैं।

कमांड लाइन स्क्रिप्टिंग के लिए PHP का उपयोग करते समय, एक PHP कमांड लाइन इंटरफ़ेस (सीएलआई) निष्पादन योग्य की आवश्यकता होती है। PHP PHP 4.3.0 के रूप में एक सीएलआई एसएपीआई का समर्थन करता है। इस एसएपीआई का मुख्य फोकस PHP का उपयोग कर शैल अनुप्रयोगों का विकास कर रहा है। सीएलआई एसएपीआई और अन्य एसएपीआई के बीच काफी अंतर हैं, हालांकि वे कई व्यवहारों को साझा करते हैं।

PHP के पास विभिन्न वेब सर्वरों के लिए एसएपीआई नामक एक प्रत्यक्ष मॉड्यूल इंटरफेस है; विंडोज 5 पर PHP 5 और अपाचे 2.0 के मामले में, यह php5apache2.dll नामक एक डीएलएल फ़ाइल के रूप में प्रदान किया जाता है,जो एक मॉड्यूल है, अन्य कार्यों के बीच, PHP और वेब सर्वर के बीच एक इंटरफेस प्रदान करता है, जो सर्वर को समझता है। यह रूप एसएपीआई के रूप में जाना जाता है।

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

PHP-GTK एक्सटेंशन का उपयोग कर PHP ग्राफिकल यूजर इंटरफेस (जीयूआई) अनुप्रयोगों को लिखने के लिए PHP का भी उपयोग किया जा सकता है। PHP-GTK को आधिकारिक PHP वितरण में शामिल नहीं किया गया है, और एक एक्सटेंशन के रूप में इसका उपयोग केवल PHP संस्करण 5.1.0 और नए के साथ किया जा सकता है। PHP-GTK इंस्टॉल करने का सबसे आम तरीका इसे स्रोत कोड से संकलित कर रहा है।

जब क्लाउड वातावरण में PHP स्थापित और उपयोग किया जाता है, क्लाउड-विशिष्ट विशेषताओं का उपयोग करने के लिए सॉफ़्टवेयर डेवलपमेंट किट (एसडीके) प्रदान किए जाते हैं। उदाहरण के लिए:

अमेज़ॅन वेब सर्विसेज PHP के लिए एडब्ल्यूएस एसडीके प्रदान करता है
विंडोज़ एज़ूर का उपयोग PHP के लिए विंडोज एज़ूर एसडीके के साथ किया जा सकता है।
कोर कॉन्फ़िगरेशन विकल्पों और एक्सटेंशन दोनों को प्रभावित करने वाले कई कॉन्फ़िगरेशन विकल्प समर्थित हैं। PHP का उपयोग करने के तरीके के आधार पर कॉन्फ़िगरेशन फ़ाइल php.ini को विभिन्न स्थानों में खोजा जाता है। कॉन्फ़िगरेशन फ़ाइल को विभिन्न अनुभागों में विभाजित किया गया है, जबकि कुछ विन्यास विकल्प वेब सर्वर कॉन्फ़िगरेशन के भीतर भी सेट किए जा सकते हैं।


Use


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

डायनामिक वेब पेज: सर्वर-साइड स्क्रिप्टिंग (PHP और MySQL) का उदाहरण।
PHP प्राथमिक रूप से फ़िल्टर के रूप में कार्य करता है, फ़ाइल या स्ट्रीम जिसमें टेक्स्ट और / या PHP निर्देश होते हैं और डेटा की दूसरी स्ट्रीम आउटपुट करते हैं। आमतौर पर आउटपुट एचटीएमएल होगा, हालांकि यह जेएसओएन, एक्सएमएल या बाइनरी डेटा जैसे छवि या ऑडियो प्रारूप हो सकता है। PHP 4 के बाद, PHP पार्सर ज़ेंड इंजन द्वारा प्रसंस्करण के लिए बाइटकोड उत्पन्न करने के लिए इनपुट संकलित करता है, जिससे इसके दुभाषिया पूर्ववर्ती पर बेहतर प्रदर्शन होता है।

मूल रूप से गतिशील वेब पेज बनाने के लिए डिज़ाइन किया गया है, PHP अब मुख्य रूप से सर्वर-साइड स्क्रिप्टिंग पर केंद्रित है, और यह अन्य सर्वर-साइड स्क्रिप्टिंग भाषाओं के समान है जो किसी वेब सर्वर से क्लाइंट को गतिशील सामग्री प्रदान करता है, जैसे कि माइक्रोसॉफ्ट के एएसपी.नेट , सन माइक्रोसिस्टम्स 'जावासेवर पेजेस, और mod_perl। पीएचपी ने कई सॉफ्टवेयर ढांचे के विकास को भी आकर्षित किया है जो तेजी से अनुप्रयोग विकास (आरएडी) को बढ़ावा देने के लिए बिल्डिंग ब्लॉक और डिजाइन संरचना प्रदान करते हैं। इनमें से कुछ में PRADO, केकेपीएचपी, सिम्फनी, कोडइग्निटर, लैरावेल, वाईआई फ्रेमवर्क, फाल्कन और ज़ेंड फ्रेमवर्क शामिल हैं, जो अन्य वेब ढांचे के समान सुविधाएं प्रदान करते हैं।

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

1 comment:

test banner