PHP
PHP Core में योगदान दे रहा है
खोज…
टिप्पणियों
PHP एक ओपन सोर्स प्रोजेक्ट है, और जैसे भी हो, कोई भी इसमें योगदान दे सकता है। मोटे तौर पर, PHP कोर में योगदान करने के दो तरीके हैं:
- बग फिक्सिंग
- फ़ीचर जोड़
योगदान करने से पहले, यह समझना महत्वपूर्ण है कि PHP संस्करण कैसे प्रबंधित और जारी किए जाते हैं ताकि बग फिक्स और सुविधा अनुरोध सही PHP संस्करण को लक्षित कर सकें। विकसित परिवर्तन PHP गिथब रिपॉजिटरी के लिए एक अनुरोध के रूप में प्रस्तुत किया जा सकता है । डेवलपर्स के लिए उपयोगी जानकारी PHP.net साइट और #externals फोरम के "गेट इनवॉल्व्ड" खंड पर पाई जा सकती है।
बग फिक्स के साथ योगदान
जो लोग कोर में योगदान करना शुरू करना चाहते हैं, उनके लिए आमतौर पर बग फिक्सिंग के साथ शुरुआत करना आसान होता है। यह कोर के लिए और अधिक जटिल संशोधन करने का प्रयास करने से पहले पीएचपी के आंतरिक के साथ परिचित होने में मदद करता है जो कि एक सुविधा की आवश्यकता होगी।
संस्करण प्रबंधन प्रक्रिया के संबंध में, बग फिक्स को सबसे कम प्रभावित लक्षित करना चाहिए, जबकि अभी भी समर्थित PHP संस्करण। यह संस्करण है कि बग फिक्सिंग पुल अनुरोधों को लक्षित करना चाहिए। वहां से, एक इंटर्नल मेंबर फिक्स को सही ब्रांच में मर्ज कर सकता है और फिर बाद में पीएचपी वर्जन में आवश्यकतानुसार इसे मर्ज कर सकता है।
बग को हल करने की शुरुआत करने के इच्छुक लोगों के लिए, बग रिपोर्ट की एक सूची bugs.php.net पर देखी जा सकती है।
फ़ीचर परिवर्धन के साथ योगदान
नई सुविधाओं को शुरू करने और भाषा में महत्वपूर्ण बदलाव करते समय PHP एक RFC प्रक्रिया का अनुसरण करती है। RFC को php.net के सदस्यों द्वारा वोट दिया जाता है, और उन्हें कुल मतों का एक साधारण बहुमत (50% + 1) या एक सुपर बहुमत (2/3 + 1) प्राप्त करना चाहिए। एक सुपर बहुमत की आवश्यकता होती है यदि परिवर्तन भाषा को प्रभावित करता है (जैसे कि एक नया वाक्यविन्यास शुरू करना), अन्यथा केवल एक साधारण बहुमत की आवश्यकता होती है।
RFC को वोट देने से पहले, उन्हें आधिकारिक PHP मेलिंग सूची में कम से कम 2 सप्ताह की चर्चा अवधि से गुजरना होगा। एक बार जब यह अवधि समाप्त हो जाती है, और आरएफसी के साथ कोई खुले मुद्दे नहीं होते हैं, तो इसे मतदान में स्थानांतरित किया जा सकता है, जो कम से कम प्रत्येक सप्ताह होना चाहिए।
यदि कोई उपयोगकर्ता पहले से अस्वीकार किए गए RFC को पुनर्जीवित करना चाहता है, तो वे ऐसा केवल निम्नलिखित दो परिस्थितियों में से एक में कर सकते हैं:
- पिछले वोट से 6 महीने बीत चुके हैं
- लेखक (s) RFC में पर्याप्त परिवर्तन करते हैं जो संभवतः वोट के परिणाम को प्रभावित करेगा, RFC को फिर से वोट देने के लिए रखा जाना चाहिए।
जिन लोगों को वोट देने का विशेषाधिकार है, वे या तो स्वयं PHP (और इसलिए php.net खाते हैं) में योगदान करेंगे, या PHP समुदाय के प्रतिनिधि होंगे। इन प्रतिनिधियों को php.net खातों वाले लोगों द्वारा चुना जाता है, और या तो पीएचपी-आधारित परियोजनाओं के प्रमुख डेवलपर्स होंगे या आंतरिक चर्चाओं के लिए नियमित भागीदार होंगे।
प्रस्ताव के लिए नए विचारों को प्रस्तुत करते समय, प्रस्तावक को लिखने के लिए लगभग हमेशा आवश्यक होता है, बहुत कम से कम, एक प्रूफ-ऑफ-कॉन्सेप्ट पैच। ऐसा इसलिए है क्योंकि कार्यान्वयन के बिना, सुझाव बस एक और सुविधा अनुरोध बन जाता है जो निकट भविष्य में पूरा होने की संभावना नहीं है।
इस प्रक्रिया का पूरी तरह से कैसे- कैसे एक RFC पेज बनाने के लिए आधिकारिक पर पाया जा सकता है।
विज्ञप्ति
मेजर पीएचपी संस्करणों का कोई सेट रिलीज चक्र नहीं है, और इसलिए उन्हें इंटर्नल टीम के विवेक पर जारी किया जा सकता है (जब भी वे एक नई प्रमुख रिलीज के लिए फिट होते हैं)। दूसरी ओर लघु संस्करण, सालाना जारी किए जाते हैं।
PHP (प्रमुख, मामूली, या पैच) में प्रत्येक रिलीज़ से पहले, रिलीज़ उम्मीदवारों (RCs) की एक श्रृंखला उपलब्ध कराई जाती है। PHP एक RC का उपयोग नहीं करती जैसा कि अन्य प्रोजेक्ट करते हैं (अर्थात यदि RC में कोई समस्या नहीं है, तो इसे अगली अंतिम रिलीज़ के रूप में बनाएं)। इसके बजाय, यह उन्हें अंतिम बेटों के रूप में उपयोग करता है, जहां आम तौर पर अंतिम रिलीज से पहले आरसी की एक निर्धारित संख्या तय की जाती है।
संस्करण
PHP आम तौर पर जहाँ संभव हो वहाँ अर्थ संस्करण का पालन करने का प्रयास करता है। जैसे, भाषा के मामूली और पैच संस्करणों में बैकवर्ड संगतता (बीसी) को बनाए रखा जाना चाहिए। सुविधाएँ और परिवर्तन जो BC संरक्षित करते हैं उन्हें छोटे संस्करणों (पैच संस्करण नहीं) को लक्षित करना चाहिए। यदि किसी सुविधा या परिवर्तन में BC को तोड़ने की क्षमता है, तो उन्हें इसके बजाय अगले प्रमुख PHP संस्करण ( X .yz) को लक्षित करना चाहिए।
प्रत्येक मामूली PHP संस्करण (x। Y .z) में सभी प्रकार के बग फिक्स के लिए दो साल का सामान्य समर्थन (तथाकथित "सक्रिय समर्थन") है। सुरक्षा सहायता के लिए उसके ऊपर एक अतिरिक्त वर्ष जोड़ा जाता है, जहाँ केवल सुरक्षा से संबंधित सुधार लागू होते हैं। तीन साल का होने के बाद, PHP के उस संस्करण के लिए समर्थन पूरी तरह से गिरा दिया गया है। वर्तमान में समर्थित PHP संस्करणों की एक सूची php.net पर देखी जा सकती है ।
एक बुनियादी विकास पर्यावरण की स्थापना
PHP का सोर्स कोड GitHub पर होस्ट किया गया है । स्रोत से निर्माण करने के लिए आपको सबसे पहले कोड की एक कार्यशील कॉपी देखनी होगी।
mkdir /usr/local/src/php-7.0/
cd /usr/local/src/php-7.0/
git clone -b PHP-7.0 https://github.com/php/php-src .
यदि आप एक सुविधा जोड़ना चाहते हैं, तो अपनी शाखा बनाना सबसे अच्छा है।
git checkout -b my_private_branch
अंत में, PHP को कॉन्फ़िगर और बिल्ड करें
./buildconf
./configure
make
make test
make install
यदि अनुपलब्ध निर्भरता के कारण कॉन्फ़िगरेशन विफल हो जाता है, तो आपको उन्हें स्थापित करने के लिए अपने ऑपरेटिंग सिस्टम के पैकेज प्रबंधन प्रणाली का उपयोग करने की आवश्यकता होगी (जैसे yum
, apt
, आदि) या डाउनलोड करें और उन्हें स्रोत से संकलित करें।