PHP ऑपरेटर को "->" क्या कहते हैं और ज़ोर से कोड पढ़ने पर आप इसे कैसे कहते हैं? [बन्द है]


127

->PHP में पाए जाने वाले इस एरो लुकिंग ऑपरेटर को आप क्या कहते हैं ?

यह या तो माइनस साइन, डैश या हाइफ़न है जिसके बाद साइन (या राइट शेवरॉन) से अधिक है।

कोड को ज़ोर से पढ़ने पर आप इसे कैसे उच्चारण करते हैं?


12
यह प्रश्न एक प्रश्न के डुप्लिकेट के रूप में क्यों बंद किया गया है जो इस प्रश्न का उत्तर देने के लिए लिंक करता है?
बेन

1
C ++ में "->" ऑपरेटर को "पॉइंटर का सदस्य" कहा जाता है, लेकिन PHP "->" ऑपरेटर वास्तव में "के करीब है।" C ++ में ऑपरेटर और जिसे "ऑब्जेक्ट का सदस्य" कहा जाता है।
user34660

जवाबों:


134

आधिकारिक नाम "ऑब्जेक्ट ऑपरेटर" है - T_OBJECT_OPERATOR । मैं इसे "तीर" कहता हूं।


9
ध्यान दें कि शाब्दिक टोकन हमेशा वह नहीं होता है जिसे आमतौर पर टोकन के रूप में संदर्भित किया जाता है। उदाहरण के लिए, :: का नाम "गुंजाइश रिज़ॉल्यूशन ऑपरेटर" है, लेकिन उस लेख में इसे सूचीबद्ध किया गया है T_DOUBLE_COLON। जब मैं कुछ और वोट
पाऊंगा

1
ठीक है, अजीब लगता है अगर आप पढ़ते हैं "और बी के निष्पादन के बाद और वेतन वापस करते हैं, ए तीर सी"। इसे और अधिक की तरह एक सी को संदर्भित करता हो जाएगा
बेन

66
बिली का अधिकार, अधिकांश लोग आकस्मिक बातचीत में :: a T_PAAMAYIM_NEKUDOTAYIM कहते हैं
एलन स्ट्रॉम

3
मैं कहूंगा कि यह $a->do()"ए की विधि करो" है और $a->thing"ए की संपत्ति थिंग" है, इसलिए यह सापेक्ष है।
मार्टिन लिन

1
Btw, T_PAAMAYIM_NEKUDOTAYIMबिल्कुल हिब्रू में "डबल कोलन" का मतलब है।
नेट डे

59

मैं इसे " डार्ट " कहता हूं ; जैसे $Foo->bar(): "फू डार्ट बार"

चूंकि कई भाषाएं "डॉट" का उपयोग करती हैं जैसा कि Foo.bar();मैं चाहती थी कि एक-शब्द का उपयोग करने के लिए एक शब्दांश हो। "तीर" बस बहुत लंबा-घुमावदार है! ;)

चूंकि पीएचपी कॉन्सेप्टेशन के लिए ."डॉट" का उपयोग करता है (क्यों?) मैं सुरक्षित रूप से "डॉट" नहीं कह सकता - यह भ्रमित कर सकता है।

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


1
मुझे वह पसंद है! आपके लिए +1। मुझे लगता है कि जोर से बोलने पर "डार्ट" में "डार्ट" को मारने का कुछ खतरा है। बहुत बुरा "तीर" शायद बहुत अधिक है।
फिल पेरी

अच्छा, यह वह उत्तर है जो मैं अपने सिर में उपयोग करने की सबसे अधिक संभावना होगी। आपके उत्तर का अच्छा औचित्य।
लियाम

मुझे यह पक्का याद होगा।
चेव

मुझे समझ में आता है यदि आप तीर कहते हैं ... मैं पूरी तरह से खो जाता हूं यदि आप डार्ट का उल्लेख करते हैं
एमेका एमबीह

39

PHP कोड को जोर से पढ़ते समय, मैं "->" ऑपरेटर का उच्चारण नहीं करता। क्योंकि $db->prepare($query);मैं ज्यादातर कहता हूं "Db [संक्षिप्त ठहराव] क्वेरी तैयार करें।" इसलिए मुझे लगता है कि मैं इसे एक नियमित वाक्य में अल्पविराम की तरह बोलता हूं।

वही पेमायिम नेकुदोटायम ("::") के लिए जाता है।


10
पमायह व्हाट? jk
वैलीडिजिटल


1
मुझे पैमायम नेकुदोटयिम ("::") "कूको" को "कोलन कोलोन" के लिए छोटा कहना पसंद है
छाता

14

अपने आप को कोड पढ़ते समय, मुझे लगता है कि यह एक "अधिकारपूर्ण चीज" की तरह है।

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

x->value = y->value

"x का मान बराबर y के मान के बराबर होगा"


9

सबसे अधिक बार, मैं @ वोरो की विधि ("ए का बी पद्धति" या "ए के बी विधि") पर कुछ भिन्नता का उपयोग करता हूं, लेकिन मैं कभी-कभी "डॉट" कहता हूं। जैसे "कॉल अ डॉट बी ()"।


5
मैं हमेशा "डॉट बी" कहता हूं, क्योंकि यह हर दूसरे भाषा में बहुत अधिक है। PHP और गैर-PHP देवता हमेशा मुझे समझने लगते हैं।
गारेथ

1
हाँ, मैं "डॉट" पर वापस आता हूं क्योंकि यह अधिकांश अन्य भाषाओं में डॉट ऑपरेटर के समान है। फिर सवाल यह हो जाता है कि आप ->C / C ++ में क्या कहते हैं , जहां वास्तविक डॉट ऑपरेटर से इसकी अलग कार्यक्षमता है?
meagar

4

संपत्ति संचालक।

जब पढ़ने $a->b()या $a->bजोर से मैं कहता हूं "कॉल बी पर एक ओब्ज" या "बी ए / इन / ऑफ $ ए"


1
@ के लिए, मुझे लगता है, "विधि ऑपरेटर" भी।
मार्कस एडम्स 20

@ मारकस एडम्स - वास्तव में नहीं, विधियों के रूप में देखने से सिर्फ गुण होते हैं जो अधिकांश भाषाओं में कार्य करते हैं। हालांकि अकेले PHP में, एक बड़ा अंतर है, लेकिन मैं अभी भी इसे एक संपत्ति कहूंगा।
Tor Valamo

4

मैं व्यक्तिगत रूप से मौखिक रूप से अपने कोड को व्यक्त करने में क्रियाशील रहना पसंद करता हूं।

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

$foo = new Foo();
echo $foo->bar

ऐसे पढ़ेगा:

ऑब्जेक्ट फू की बार प्रॉपर्टी को इको (/ प्रिंट) करें।

यह क्रिया और अधिक समय लेने वाला है, लेकिन मुझे लगता है कि अगर मेरे कारण मौखिक रूप से अपने कोड को व्यक्त करने का कोई कारण है, तो मुझे संभवतः स्पष्ट रूप से स्पष्ट होना चाहिए कि मैं वास्तव में क्या कह रहा हूं।


मुझे डर है कि तुमने मुझे, टॉमस को खो दिया है। :/ तुम क्या मतलब है?
क्रेगे

4

कोबोल में वापस आते हुए 'जहाँ आप कहेंगे "5 से b में जाएँ।" अधिकांश भाषाएं आज चीजों को दूसरी दिशा में ले जाती हैं।

फिर भी मैं $a->b();"कॉल बी" के रूप में पढ़ूंगा।


4
$a->b 

मैं "$ $ के परम बी" के रूप में कहता हूं।

$a->b()

मैं "$ b के फ़ंक्शन बी" के रूप में कहता हूं।


3

एकल तीर आसानी से मौखिक रूप से संदर्भित किया जा सकता है क्योंकि PHP OOP: सदस्य के लिए इसका क्या मतलब है। तो, $a->varआप कहेंगे "ऑब्जेक्ट का सदस्य संस्करण"।

कोड को जोर से पढ़ते समय, यह आगे पढ़ने में मदद करता है (लुकहेड रेफरेंस, सॉरी), और यह जानें कि आप वास्तव में किसका संदर्भ ले सकते हैं। उदाहरण के लिए, चलो निम्नलिखित कोड है:

<?php
  Class MyClass {
    $foo = 0;

    public function bar() {
      return $this->foo;
    }
  }

  $myobject = new MyClass();
  $myobject->bar();
?>

इसलिए, अगर मुझे कोड के प्रदर्शन के रूप में इस कोड ब्लॉक को जोर से पढ़ना था, तो मैं यह कहूंगा:

"क्लास को परिभाषित करें 'MyClass', ओपन-ब्रेस। वेरिएबल 'foo' शून्य के बराबर है, टर्मिनेट लाइन। सार्वजनिक फ़ंक्शन 'बार' ओपन-क्लोज कोष्ठक, ओपन-ब्रेस। परिभाषित करें। ऑब्जेक्ट का रिटर्न मेंबर वेरिएबल 'foo' यह ', टर्मिनेट लाइन। , क्लोज़-ब्रेस, क्लोज़-ब्रेस। 'MyClass' (कोई तर्क) के नए उदाहरण को चर ऑब्जेक्ट 'myobject' के रूप में, टर्मिनेट लाइन। ऑब्जेक्ट के 'myobject' के कॉल मेम्बर मेथड 'bar', टर्मिनेट लाइन। ''

हालांकि, अगर मैं अन्य छात्रों या प्रोग्रामर को दृश्य के बिना कॉपी करने के लिए जोर से पढ़ रहा था, तो मैं कहूंगा:

"PHP ओपन टैग (पूर्ण), न्यूलाइन, इंडेंट, क्लास मायक्लास ओपन-ब्रेस, न्यूलाइन। इंडेंट, ['डॉलर-साइन' | 'ऑब्जेक्ट-मार्कर'] फू बराबर 0, अर्धविराम, न्यूलाइन, न्यूलाइन। सार्वजनिक फ़ंक्शन बार ओपन। करीब कोष्ठक, ओपन-ब्रेस, न्यूलाइन। इंडेंट, वापसी ['डॉलर-साइन' | 'ऑब्जेक्ट-मार्कर'] यह एरो फू, अर्धविराम, न्यूलाइन। रिवर्स-इंडेंट, क्लोज-ब्रेस, न्यूलाइन, रिवर्स-इंडेंट, क्लोज-ब्रेस। , newline, newline। ['डॉलर-साइन' | 'ऑब्जेक्ट-मार्कर'] myobject नए MyClass ओपन-क्लोज्ड कोष्ठक, अर्धविराम, न्यूलाइन के बराबर है। ['डॉलर-साइन' | 'ऑब्जेक्ट-मार्कर' myobject एरो बार ओपन-क्लोज कोष्ठक, अर्धविराम, न्यूलाइन। रिवर्स-इंडेंट, पीएचपी क्लोज टैग। "

जहाँ आप देखते हैं ['डॉलर-साइन' | 'ऑब्जेक्ट-मार्कर'], आप जो भी '$' बोलने के लिए चुनते हैं, मैं दोनों के बीच अक्सर स्विच करता हूं, बस मेरे दर्शकों पर निर्भर करता है।

तो, यह योग करने के लिए, PHP में, -> एक वस्तु के एक सदस्य को संदर्भित करता है, यह या तो एक चर, दूसरी वस्तु, या एक विधि हो।


1

वरिष्ठ PHP डेवलपर जहां मैं काम करता हूं वह "तीर" कहता है।

$A->B;

जब वह मुझे ऊपर टाइप करने के लिए कह रहा है, तो वह कहेगा, "डॉलर ए तीर बी" या के लिए

$A->B();

"डॉलर ए तीर बी परेंस।"


1

मैं इसे इस तरह से करूंगा:

//Instantiated object variable with the name mono call property name
$mono->name;

//Instantiated object variable with the name mono call method ship
$mono->ship();

मेरी पुस्तक ( PHP Master by Lorna मिशेल) में इसे ऑब्जेक्ट ऑपरेटर कहा जाता है ।


1

जापानी के पास इसके लिए एक सुविधाजनक कण है, "नहीं" (for)। यह प्रधान कण है, जिसका अर्थ है "पूर्ववर्ती शब्द से संबंधित"।

"फ्रेड" बेजर "का अर्थ है" फ्रेड का बेजर "।

यह कहने का एक लंबा रास्ता है कि कम से कम मानसिक रूप से, और जापानी लोगों को समझने वालों में से, मैं उन्हें अलग-अलग तरीके से समझाता हूं:

$A->B(); // "Call $A's B."
C::D();  // "Call C の D."

लेकिन गैर-जापानी वक्ताओं के लिए, दोनों के पास "" के रूप में काम करना भी बहुत अच्छा है। आप उन्हें फ्लिप भी कर सकते हैं और "का उपयोग" कर सकते हैं, इसलिए "डी की सी" ... लेकिन यह थोड़े अजीब है, और ऐसा करना मुश्किल है कि आप तेजी से पढ़ रहे हैं क्योंकि यह आपके रैखिक प्रवाह को तोड़ता है।

यदि मैं तानाशाही कर रहा था, हालांकि, शायद जब जोड़ी कोडिंग और सुझाव दे कि क्या टाइप करना है, तो मैं विशिष्ट पात्रों को "डैश-बिग-एरो-एरो" और "डबल-कोलोन" के रूप में संदर्भित करूंगा (यदि मुझे पता है कि मैं जिस व्यक्ति से बात कर रहा हूं) एक PHPophile है, मैं कह सकता हूं कि पहली बार एक "पैमाइम नीकुडोटाइम डबल-कोलोन", आंशिक रूप से क्योंकि यह एक अच्छा मजाक है, आंशिक रूप से उन्हें "सही" करने से रोकने के लिए)।


0

वस्तु। तो $a->$b->$c'ए ऑब्जेक्ट बी ऑब्जेक्ट सी' होगा।



0

user187291 ने गैर-व्यक्तिपरक प्रश्न का उत्तर दिया है, जैसे व्यक्तिपरक एक के लिए, मैं कहता हूं "उप"। उदाहरण के लिए, मैं $x->y"x उप y" के रूप में उच्चारण करूंगा - "उप" इस संदर्भ में "सबस्क्रिप्ट" के लिए संक्षिप्त है। यह सरणी संकेतन के लिए अधिक उपयुक्त है; $x['y']मैं "x उप y" का भी उच्चारण करता हूं। आमतौर पर जब कोड को ज़ोर से पढ़ते हैं, तो मैं अपने शब्दों का उपयोग एक लाइन को पहचानने के लिए कर रहा हूं जिसे अन्य डेवलपर देख सकते हैं, इसलिए अस्पष्टता अभी भी एक समस्या बन गई है। मेरा मानना ​​है कि इसका कारण यह है कि मैं संरचना / वस्तुओं और सरणियों को "संग्रह" के रूप में देखता हूं, और इसके तत्वों को गणितीय उद्धरण के रूप में सब्सक्राइब किया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.