2012-05-28 20 views
25

मैंने अभी एक PHP ऑब्जेक्ट के संदर्भ में बैकस्लैश का उपयोग देखा और इसके बारे में उत्सुक था (मैंने इसे पहले कभी नहीं देखा है)। इसका क्या मतलब है?बैकस्लैश - इसका क्या अर्थ है?

$mail = new SendGrid\Mail(); 

यदि आप उत्सुक हैं, तो यहां SendGrid's documentation है।

+1

यह http://stackoverflow.com/questions/4075521/backslash-syntax-when-creating-objects का डुप्लिकेट है, तो आप यहां अपने उत्तर पा सकते हैं। – 11684

+0

@ 11684 हाँ ने अभी देखा है कि ... ओप्स – Kyle

+0

यह शानदार पोस्ट अधिक विस्तार से बताता है http://stackoverflow.com/q/4790020/6521116 –

उत्तर

26

ऐसा इसलिए है क्योंकि वे PHP namespaces का उपयोग कर रहे हैं। नामस्थान PHP 5.3 के रूप में नए हैं।

+0

को अद्यतन करने की आवश्यकता है, अब, कई परियोजनाओं का उपयोग किया जाता है। –

13

यह PHP का नामस्थान ऑपरेटर है: http://php.net/manual/en/language.namespaces.php

पूछें कि यह बैकस्लैश क्यों है। यह (imho) बेवकूफ संभव विकल्प है जो वे बना सकते थे, जो कि अत्यधिक निर्णय वाले/बड़े पैमाने पर स्कोरिंग सिस्टम पर अपने फैसले का आधार बनाते थे, जो केवल देवताओं के लिए समझ में आया था।

+2

खैर, बैकस्लैश सबसे अच्छा विकल्प था (क्या आप ':::' या '-> ->'?) का उपयोग करना चाहते हैं। – xfix

+0

@GlitchMr क्यों नहीं -> 'नियमित वस्तुओं के रूप में ... – jadkik94

+0

यह भी काम कर सकता है, लेकिन - हैलो-> कुछ()' बदसूरत लगेगा। और मुझे नहीं लगता कि PHP ऑपरेटर को एक ही समय में दो चीजों का मतलब लेना चाहता है (विशेष रूप से बहुत अलग, जब मैं पहली बार 'एबीसी-> डीफ़()' देखता हूं तो मुझे लगता है कि यह निरंतर 'एबीसी' की विधि है)। – xfix

6

यह नामस्थानों के लिए वाक्यविन्यास है। आप PHP documentation पर नामस्थानों के बारे में अधिक पढ़ सकते हैं। उन्हें कम से कम PHP 5.3 की आवश्यकता होती है।

उदाहरण के लिए:

namespace SendGrid; 
function Mail() { 
    // You can access this function by using SendGrid\Mail() externally 
} 
संबंधित मुद्दे