PHP में दो कोलन का क्या मतलब है? कोलन: आपको कोलन कहाँ, कब और क्यों लगाना है आप कैसे लिखते हैं।

यदि आपने PHP में लिखे गए किसी प्रोग्राम के कोड का विश्लेषण किया है, तो संभवतः आपको कोड में ऐसी विशेष चीज़ों का सामना करना पड़ा होगा। पात्र:

-> (डैश और उससे बड़ा चिह्न)

:: (डबल कोलन)

उदाहरण के लिए, इन अभिव्यक्तियों के साथ निर्माण इस तरह दिख सकते हैं:

हेलो::हैलो_वर्ल्ड(); q -> hello_world();

यह समझने के लिए कि इन संरचनाओं की आवश्यकता क्यों है, आइए सबसे सरल उदाहरण देखें। मान लीजिए कि हमारे पास एक सरल "हैलो वर्ल्ड!" कार्यक्रम है।

आइए एक सरल php फ़ाइल बनाएं और उसमें निम्नलिखित कोड लिखें:

क्लास हैलो (फ़ंक्शन हैलो_वर्ल्ड () ( इको "हैलो वर्ल्ड"; ) )

अब सोचें कि आप hello_world() फ़ंक्शन को कैसे निष्पादित कर सकते हैं।

यदि hello_world() फ़ंक्शन Hello क्लास में नहीं होता, तो हम इसे बहुत सरलता से कॉल करेंगे:

हैलो वर्ल्ड();

परिणामस्वरूप, हमें स्क्रीन पर "हैलो वर्ल्ड" शब्द दिखाई देंगे। लेकिन सबसे अधिक संभावना है, यदि आपने इस तरह से समस्या को हल करने का प्रयास किया, तो आपको अपनी स्क्रीन पर एक त्रुटि मिलेगी:

घातक त्रुटि: .../test.php ऑन लाइन में अपरिभाषित फ़ंक्शन hello_world() पर कॉल करें...

सब कुछ सही है, क्योंकि फ़ंक्शन किसी क्लास में है, तो आपको कंप्यूटर को यह बताना होगा कि इसे हैलो क्लास में देखने की ज़रूरत है। अगर आप ऐसा नहीं करेंगे तो कोई काम नहीं होगा.

ऐसी जानकारी कंप्यूटर को कैसे संप्रेषित की जा सकती है?

यहां कई विकल्प हैं. आइए प्रत्येक को अलग से देखें।

विकल्प 1। किसी वर्ग का एक उदाहरण बनाकर।

$q = नया नमस्ते;

इस पंक्ति के साथ हम हैलो क्लास का एक तथाकथित उदाहरण बनाते हैं। इस ऑपरेशन के बाद, हम इस इंस्टेंस के माध्यम से अपनी ज़रूरत के फ़ंक्शन को स्वतंत्र रूप से एक्सेस कर सकते हैं, जो इस मामले में $q वेरिएबल में संग्रहीत है।

$q -> hello_world();

"->" निर्माण क्लास इंस्टेंस और फ़ंक्शन के बीच की कड़ी बन जाता है।

अब सब कुछ काम करता है. हुर्रे! आपको स्क्रीन पर "हैलो वर्ल्ड" दिखाई देना चाहिए।

विकल्प 2। डबल कोलन निर्माण का उपयोग करना::

यह विकल्प और भी सरल है. आपको यहां कोई इंस्टेंस बनाने की भी आवश्यकता नहीं है। हम तो बस लिख रहे हैं.

हेलो::हैलो_वर्ल्ड();

आप जांच सकते हैं कि फ़ंक्शन सफलतापूर्वक निष्पादित होगा या नहीं।

मुझे आशा है कि इस नोट को पढ़ने के बाद, अब आप समझ गए होंगे कि "->" और "::" का उपयोग निर्मित कक्षा में वांछित फ़ंक्शन तक पहुंचने के लिए किया जाता है।

उन्हीं संरचनाओं का उपयोग करके, हम कक्षाओं में स्थित वेरिएबल्स तक पहुंच सकते हैं। अंतर केवल इतना है कि आपको अंत में कोष्ठक लगाने की आवश्यकता नहीं है। उदाहरण के लिए:

हैलो वर्ल्ड;

इस निर्माण के साथ हम विश्व वेरिएबल तक पहुंचते हैं, जो हैलो क्लास में स्थित है।

विशेष रूप से अक्सर, विभिन्न वेबसाइट प्रबंधन प्रणालियों के कोड का विश्लेषण करते समय ऐसे निर्माण पाए जा सकते हैं। जूमला, वर्डप्रेस इत्यादि जैसे सिस्टम के स्रोत कोड को देखें। अब आप जानते हैं कि यह सब किस लिए है।

शुरुआती लोगों के लिए मेरे अधिक PHP ट्यूटोरियल।

तो, कोलन एक विराम चिह्न है। एक अवधि, विस्मयादिबोधक और प्रश्न चिह्न और दीर्घवृत्त के विपरीत, इसमें एक अलग करने वाला कार्य नहीं होता है, अर्थात, यह पाठ में वाक्यों को एक दूसरे से अलग नहीं करता है। एक कोलन केवल एक वाक्य के भीतर रखा जाता है, और इसलिए यह इंगित करता है कि कथन इसके बाद भी जारी रहेगा।

कोलन सरल और जटिल वाक्यों में पाए जा सकते हैं। एक सरल वाक्य में यह कथन के कुछ हिस्सों को विभाजित और उजागर करता है; एक जटिल वाक्य में यह एक अर्थ संबंधी भूमिका भी निभाता है: यह एक गैर-संघ जटिल वाक्य के हिस्सों के बीच अर्थ संबंधी संबंधों को इंगित करता है।

तो कोलन का सही ढंग से उपयोग कैसे करें, बिना गलती किए और इसे दूसरों के साथ भ्रमित किए बिना? आइए मुख्य मामलों पर नजर डालते हैं.

सरल वाक्य में कोलन

नियम 1. सजातीय सदस्यों वाले वाक्य में कोलन

यदि कोई सामान्यीकरण शब्द सजातीय सदस्यों से पहले आता है, तो उसके बाद एक कोलन की आवश्यकता होती है, उदाहरण के लिए: बर्फ पड़ी है हर जगह: घरों की छतों पर, बाड़ों पर, लॉन पर, कारों पर।

इस वाक्य में शब्द हर जगह अनेक समान परिस्थितियों का सामान्यीकरण करता है। सामान्यीकरण शब्द सजातीय सदस्यों से पहले स्थित होता है, और इसलिए इसके बाद एक कोलन होता है।

नियम 2. गुणवाचक शब्दों वाले वाक्यों में कोलन

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

इस वाक्य में, सामान्यीकरण शब्द के साथ हर जगह एक निर्माण यह स्पष्ट करता है कि इसका उपयोग किया गया था "अर्थात्" , इसके बाद सजातीय शब्दों की एक श्रृंखला आती है, इसलिए इसके बाद एक कोलन होता है।

नियम 3. प्रत्यक्ष भाषण के साथ निर्माण में कोलन

यदि प्रत्यक्ष भाषण लेखक के शब्दों के बाद आता है, तो उसके सामने एक कोलन लगाया जाता है, और प्रत्यक्ष भाषण स्वयं उद्धरण चिह्नों में संलग्न होता है और प्रत्यक्ष भाषण का पहला शब्द बड़े अक्षर से लिखा जाता है: शिक्षक ने कहा: "नमस्कार, बच्चों!"इसके अलावा, यदि प्रत्यक्ष भाषण पाठ में लेखक के शब्दों को तोड़ता है, तो उसके सामने एक कोलन लगाया जाता है, उदाहरण के लिए: यह कहते हुए: "नमस्कार, बच्चों!", शिक्षक कक्षा में दाखिल हुए।सीधे भाषण के बाद आपको अल्पविराम लगाना होगा।

एक जटिल वाक्य में कोलन

नियम 4. निम्नलिखित मामलों में एक गैर-संघीय जटिल वाक्य (बीएसपी) के कुछ हिस्सों के बीच एक कोलन रखा जा सकता है।

  • बसपा का दूसरा भाग बताते हैंपहले में क्या कहा गया था (वाक्य के कुछ हिस्सों के बीच आप "डाल सकते हैं" अर्थात्"), उदाहरण के लिए: लोगों के बीच ऐसा संकेत है: बारिश होने पर निगल नीचे उड़ते हैं; कात्या बहुत सक्षमता से लिखती हैं: वह कभी भी शब्दों में गलतियाँ नहीं करतीं और विराम चिह्नों को सही ढंग से लगाती हैं।इन गैर-संघीय जटिल वाक्यों में, दूसरा भाग इस बात का स्पष्टीकरण प्रदान करता है कि पहले में क्या चर्चा की जा रही है। वाक्यों के कुछ हिस्सों के बीच आप "डाल सकते हैं" अर्थात्": लोगों के बीच एक ऐसा संकेत है (अर्थात्):अबाबीलें बारिश की ओर पानी के ऊपर नीचे उड़ती हैं।अतः उपरोक्त वाक्यों में कोलन है।

  • बसपा का दूसरा भाग कारण का पता चलता हैपहले में क्या चर्चा की गई थी (आप वाक्य के कुछ हिस्सों के बीच संयोजन सम्मिलित कर सकते हैं: चूँकि, क्योंकि), उदाहरण के लिए: कात्या बहुत सक्षमता से लिखती है: वह बहुत पढ़ती है, कविता को दिल से सीखती है, अपनी याददाश्त को प्रशिक्षित करती है; जल्द ही बारिश होगी: निगल पानी के ऊपर नीचे उड़ते हैं।इन बीएसपी में, दूसरा भाग पहले में कही गई बात को उचित ठहराता है और उसका कारण बताता है। आप भागों के बीच संयोजन सम्मिलित कर सकते हैं: चूँकि, क्योंकि. जल्द ही बारिश होने वाली है (क्योंकि):निगल पानी के ऊपर नीचे उड़ते हैं।इसीलिए ऐसे वाक्यों में कोलन का प्रयोग किया जाता है।

  • बसपा का दूसरा भाग पूरक करता है, प्रकट करता हैपहले में क्या कहा गया था (ऐसे वाक्य व्याख्यात्मक खंड के साथ जटिल वाक्यों के पर्याय हैं, इसलिए, बीएसपी के हिस्सों के बीच एक संयोजन डाला जा सकता है क्या). उदाहरण के लिए: कात्या जानती है: किताबें पढ़ना न केवल दिलचस्प है, बल्कि पढ़ाई के लिए भी बहुत उपयोगी है; लोग कहते हैं: जब बारिश होती है तो निगल पानी के ऊपर नीचे उड़ते हैं।दूसरे भाग में बीएसपी डेटा से पहले में चर्चा की गई बातों का अर्थ पता चलता है। यदि ऐसे वाक्य के भाग समुच्चयबोधक द्वारा जुड़े हों क्या, तो आपको एक व्याख्यात्मक उपवाक्य के साथ एक जटिल वाक्य मिलता है: लोग कहते हैं (क्या,):अबाबीलें बारिश की ओर पानी के ऊपर नीचे उड़ती हैं।इस प्रकार के वाक्यों के पहले कोलन लगाया जाता है।

  • वाक्य के पहले भाग में क्रियाएँ छोड़ दी गई हैं: और देखा, और सुना, और महसूस किया, उदाहरण के लिए: मैंने अपना सिर उठाया: सूरज की एक किरण बादलों को चीर रही थी, जो साफ़ रोशनी से जगमगा रही थी; वह घूमा: जल्दबाजी में उठाए गए कदमों की गूंज बहुत करीब से सुनाई दी।ये वाक्य व्याख्यात्मक उपवाक्यों के साथ जटिल अधीनस्थ उपवाक्यों के भी पर्याय हैं; पहले भाग में क्रियाएँ जैसे: और देखा और सुना,आप भागों के बीच एक संयोजन सम्मिलित कर सकते हैं क्या। मैंने अपना सिर उठाया (और वह देखा): सूरज की एक किरण बादलों के बीच से निकली, और साफ़ जगह को तेज़ रोशनी से रोशन कर दिया।


कोलन बनाम डैश

कोलन का उपयोग करने में मुख्य कठिनाई यह है कि कभी-कभी इस विराम चिह्न को दूसरे - डैश - के साथ भ्रमित करना आसान होता है। हाल ही में, इन संकेतों का उपयोग अक्सर समानांतर में किया जाता है, अर्थात, एक ही मामले में, डैश और कोलन दोनों को रखा जा सकता है। उदाहरण के लिए: और जजों ने फैसला किया: अगर बारिश हुई तो प्रतियोगिता रद्द कर दी जाएगी; मैंने पहला पत्थर देखा, मैंने तय कर लिया कि यहाँ खजाना है, इसलिए मैंने इधर-उधर खोजना शुरू कर दिया(टेंड्रियाकोव), बेशक वहबदला हुआ(: –) झुका हुआ, भूरा, झुर्रियों वालामुँह के कोनों में; मेरा आना हो रहा है(: ) सब कुछ शांत है; उसके सामने ये शब्द मत बोलो.(: ) नाराज हो सकते हैं; सबकी दिलचस्पी सिर्फ एक ही सवाल में थी(: ) इस स्थिति से यथाशीघ्र कैसे बाहर निकला जाए; इसका एक मतलब था(: ) तोड़ने की जरूरत है.

ऐसे विकल्पों को समान माना जाता है; आप गलती करने के डर के बिना डैश और कोलन दोनों का उपयोग कर सकते हैं। हालाँकि, हमें याद रखना चाहिए कि डैश, वाक्यात्मक कार्यों के अलावा, भावनात्मक और अभिव्यंजक कार्य भी करता है, अर्थात यह कथन की भावनात्मकता को इंगित करता है और इसकी अभिव्यक्ति पर जोर देता है। इसलिए, यदि वाक्य में ऐसे अर्थ नहीं हैं और तटस्थ है, तो आपको हमारे द्वारा चर्चा किए गए नियमों का पालन करते हुए डैश का उपयोग करने और कोलन लगाने से बचना होगा।

आपने शायद देखा होगा कि मैं अपने पाठों में कितनी बार इन दो छद्म तत्वों का उपयोग करता हूँ। मैं उन्हें क्यों पसंद करता हूँ? क्योंकि वे उपयोग करने में इतने सुविधाजनक हैं कि आपको अतिरिक्त HTML तत्व जोड़ने की भी आवश्यकता नहीं है। हालाँकि, यह लेख छद्म तत्वों के लाभों के बारे में नहीं है।

यह लेख छद्म तत्वों के वाक्य-विन्यास के संबंध में सभी भ्रमों को हमेशा के लिए स्पष्ट करने के लिए समर्पित है।

छद्म-क्या?

छद्म-तत्वों को तथाकथित इसलिए कहा जाता है क्योंकि वे वास्तविक HTML तत्व नहीं हैं। उदाहरण के लिए, HTML में पहले और बाद के टैग नहीं हैं, लेकिन CSS में आप :before और :after तत्वों को स्टाइल कर सकते हैं।

एक या दो कोलन?

:before और ::before या :after और ::after के बीच कोई अंतर नहीं है। डबल कोलन सिंटैक्स CSS3 के लिए विशिष्ट है।

http://www.w3.org/TR/css3-selectors/#pseudo-elements पर यह पैराग्राफ है:

यह प्रतीक (::) छद्म वर्गों को छद्म तत्वों से अलग करने के लिए पेश किया गया है। मौजूदा स्टाइल शीट के साथ अनुकूलता के लिए, सीएसएस 1 और 2 में छद्म तत्वों को एक ही कोलन (विशेष रूप से :पहली पंक्ति, :पहला अक्षर, :पहले और :बाद) के साथ निर्दिष्ट किया जा सकता है।

आइए संक्षेप करें

IE 7 और इससे पहले के संस्करण सूचीबद्ध छद्म तत्वों का समर्थन नहीं करते हैं। लेकिन IE 8 इसका समर्थन करता है, और यह सिंगल-कोलन सिंटैक्स का उपयोग करने का एक अच्छा (और एकमात्र) कारण है।

महत्वपूर्ण!

कृपया याद रखें कि एक या दो कोलन के बारे में यह सारी बातचीत केवल छद्म तत्वों के बारे में है, छद्म वर्गों के बारे में नहीं।

तुम कैसे लिखते हो?

टिप्पणियों में लिखें कि आप किस सिंटैक्स का उपयोग करते हैं और किन कारणों से।

PHP द्वारा "स्कोप रिज़ॉल्यूशन ऑपरेटर" के रूप में दो कोलन के उपयोग के संबंध में उत्तर के अलावा:

इसके अलावा, एक डबल कोलन का उपयोग किया जाता है:

    किसी अयोग्य, योग्य, या उपनामित वर्ग नाम को उसके पूर्णतः योग्य रूप में परिवर्तित करना, और

    क्लास विधि को कॉल करने के लिए __callStatic.

"::वर्ग" जोड़कर किसी वर्ग के नाम को उसके पूर्णतः योग्य रूप में परिवर्तित करना

क्लास नाम के बाद कीवर्ड "क्लास" के बाद आने वाले दो कोलन एक स्ट्रिंग के रूप में उस क्लास का पूर्णतः योग्य नाम प्रदान करते हैं। अर्थात्, "ClassName::class" को पूर्ण नाम "ClassName" में बदल दिया गया है। देखें (ए) मैनुअल: कक्षाएं और वस्तुएं: मूल बातें, (बी) मैनुअल: कक्षाएं और वस्तुएं: कक्षा स्थिरांक और (सी) मैनुअल: भाषा संदर्भ: स्थिरांक

"::class" सिंटैक्स किसी नामस्थान में उसके अयोग्य या योग्य रूप से, या उसके नाम के उपनाम से पूर्णतः योग्य वर्ग नाम प्राप्त करने के लिए उपयोगी है।

ऐसा प्रतीत होता है कि "::क्लास" सिंटैक्स इंटरफ़ेस नामों के साथ-साथ क्लास नामों को हल करने के लिए काम करता है, हालांकि यह ऊपर लिंक किए गए स्रोतों द्वारा प्रलेखित नहीं किया गया है।

एक क्लास के भीतर, सिंटैक्स "self::class" के साथ भी काम करता है जैसा कि ऊपर लिंक किए गए "::class" RFC में बताया गया है।

कुछ उदाहरण:

पूरा नाम(), PHP_EOL; // आउटपुट: MyNamespace\TheirClass

"__callStatic" पर कॉल करने के लिए

दो कोलन का उपयोग एक स्थिर विधि नाम को "कॉल" करने के लिए किया जा सकता है जिसे कक्षा ने घोषित नहीं किया है। यदि इसने एक घोषित किया है तो यह क्लास विधि को "__callStatic" कहता है। __callStatic विधि तब "गतिशील रूप से" चुन सकती है कि कॉल को कैसे संभालना है। PHP में इसे "जादुई विधि" __callStatic का उपयोग करके "ओवरलोडिंग" कहा जाता है।

हैंडलऑर्डर($तर्क); ) वापसी "मुझे क्षमा करें, हम इसमें आपकी सहायता नहीं कर सकते"। एलसीफर्स्ट($आइटम) . ""; ) ) नेमस्पेस हमारीकंपनी\विशेषज्ञ; क्लास कार (पब्लिक फंक्शन हैंडलऑर्डर($arguments) ( रिटर्न "क्या मैं $arguments कार में आपकी मदद कर सकता हूँ?"; ) ) क्लास ट्रक ( पब्लिक फंक्शन हैंडलऑर्डर($arguments) ( रिटर्न "क्या मैं $arguments ट्रक में आपकी मदद कर सकता हूँ? "; ) ) ourCompany\Orders\Intake का उपयोग करें; इको इंटेक::ऑर्डरकार("लाल"), PHP_EOL; // आउटपुट: क्या मैं आपको लाल कार में मदद कर सकता हूँ? इको इनटेक::ऑर्डरट्रक("पिकअप"), PHP_EOL; // आउटपुट: क्या मैं आपको पिकअप ट्रक में मदद कर सकता हूँ? इको इनटेक::ऑर्डरशूज़("साबर"), PHP_EOL; // आउटपुट: मुझे क्षमा करें, हम जूतों के मामले में आपकी मदद नहीं कर सकते।

अनुभाग में नवीनतम सामग्री:

यादृच्छिक चरों के वितरण का कॉची का नियम
यादृच्छिक चरों के वितरण का कॉची का नियम

ऐसा प्रतीत होता है कि यादृच्छिक चर का वर्णन और मॉडलिंग करने के लिए कॉची वितरण बहुत आकर्षक लगता है। हालाँकि, हकीकत में ऐसा नहीं है...

अल्टरनेटर का संचालन सिद्धांत
अल्टरनेटर का संचालन सिद्धांत

विषय 3. विद्युत कंपन. प्रत्यावर्ती विद्युत धारा. विषय के मुख्य प्रश्न: 3. 1. 1. मुक्त अवमंदित विद्युत दोलन 3. 1....

लक्ष्य निर्धारण और गतिविधि योजना चरण दर चरण लक्ष्य निर्धारण योजना
लक्ष्य निर्धारण और गतिविधि योजना चरण दर चरण लक्ष्य निर्धारण योजना

हाल तक, जीवन के सबसे अधिक उद्धृत नियमों में से एक एन. ओस्ट्रोव्स्की का कथन था: "जीवन... को इस तरह से जीना चाहिए कि...