आप सभी PHP में लक्षण के बारे में पता करने की आवश्यकता है

यह आलेख आपको पीएचपी में लक्षणों के विस्तृत और व्यापक ज्ञान के साथ प्रदान करेगा कि यह कैसे लागू किया जाता है और यह विरासत से मतभेद है।

इससे पहले कि हम लक्षण को समझें । हमने विरासत के बारे में सीखा है जिसका अर्थ है कि एक वर्ग अन्य वर्ग का विस्तार कर सकता है। मान लीजिए कि, क्लास B, क्लास A का विस्तार करता है और क्लास C भी क्लास A का विस्तार कर रहा है, जिसका अर्थ है कि क्लास A में परिभाषित फ़ंक्शन को क्लास B और क्लास C द्वारा एक्सेस किया जा सकता है, लेकिन मान लें कि क्लास B और क्लास C ने फ़ंक्शन X को ओवरराइड कर दिया है और मान लें कि क्लास D है दोनों वर्गों का विस्तार।

traits-in-php



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

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

PHP में लक्षण

आम तौर पर, वे दोनों स्थिर सदस्यों और स्थिर तरीकों को परिभाषित कर सकते हैं जो डेवलपर्स को विभिन्न वर्ग पदानुक्रमों में कई स्वतंत्र कक्षाओं में स्वतंत्र रूप से तरीकों का पुन: उपयोग करने में मदद करता है। लक्षण कई विरासतों, मिक्सिन्स से जुड़ी समस्याओं से बचते हैं और जटिलता को भी कम करते हैं।

वाक्य - विन्यास:

रिटेलर्स c ++ कोड
 

इस तरह से अन्य वर्गों के भीतर लक्षण शामिल किए जा सकते हैं।

वर्ग पोस्ट {उपयोग करने योग्य} कक्षा वर्ग टिप्पणी {उपयोग करने योग्य} का उपयोग करें

जैसा कि PHP कई उत्तराधिकारियों की अनुमति नहीं देता है, हमें कई वर्गों में समान कार्यक्षमता का पुन: उपयोग करने की अनुमति देकर इसे पार करने के लिए Trait का उपयोग किया जाता है। नीचे दिया गया उदाहरण PHP में लक्षणों के काम को दर्शाता है।

दुर्गंध (?)?

आउटपुट:

अंतिम और अंतिम के बीच अंतर करें

लक्षण का लाभ

लक्षण जटिल वर्ग विरासत को रोकने के लिए कोड दोहराव को कम करते हैं जो आपके आवेदन के संदर्भ में समझ में नहीं आ सकता है।

यह सरल लक्षणों को परिभाषित करने में मदद करता है जो स्पष्ट और संक्षिप्त हैं और फिर उस कार्यक्षमता में मिश्रण करते हैं जहां उपयुक्त है।

PHP में लक्षण बनाम इंटरफ़ेस

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

 

इसके साथ, हम अजगर लेख में इन लक्षणों के अंत में आते हैं। मुझे उम्मीद है कि आपने Traits, Trait के लाभ और Traits और Interfaces के बीच अंतर के बारे में जान लिया होगा।

यदि आप इस PHP ब्लॉग को प्रासंगिक पाते हैं, तो देखें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया 'PHP में लक्षण' के टिप्पणी अनुभाग में इसका उल्लेख करें और मैं आपको वापस प्राप्त करूंगा।