2011-04-04 23 views
8

संभावित डुप्लिकेट:
Reference - What does this symbol mean in PHP?
In, PHP, what is the “->” operator called and how do you say it when reading code out loud?"->" का क्या अर्थ है?

यह एक सच में नौसिखिया सवाल है, तो पहले से क्षमा याचना, लेकिन मैंने देखा है -> उदाहरण कोड में कई बार इस्तेमाल किया है, लेकिन मैं ऐसा करने के लिए ऑनलाइन ट्यूटोरियल्स में कोई स्पष्टीकरण नहीं दिख रहा है। (मुख्य रूप से क्योंकि गूगल एक खोज पद के रूप में यह ध्यान नहीं देता - doh!)

यहाँ एक उदाहरण है कि मुझे confuses है:

<?php 
class customException extends Exception 
{ 
public function errorMessage() 
{ 
//error message 
$errorMsg = 'Error on line '.$this->getLine().' in '.$this->getFile() 
.': <b>'.$this->getMessage().'</b> is not a valid E-Mail address'; 
return $errorMsg; 
} 
} 

$email = "[email protected]"; 

try 
    { 
    //check if 
    if(filter_var($email, FILTER_VALIDATE_EMAIL) === FALSE) 
    { 
    //throw exception if email is not valid 
    throw new customException($email); 
    } 
    //check for "example" in mail address 
    if(strpos($email, "example") !== FALSE) 
    { 
    throw new Exception("$email is an example e-mail"); 
    } 
    } 

catch (customException $e) 
    { 
    echo $e->errorMessage(); 
    } 

catch(Exception $e) 
    { 
    echo $e->getMessage(); 
    } 
?> 

क्या इस तरह के echo $e->errorMessage(); के रूप में लाइनों में चल रहा है? ऐसा लगता है कि यह $e को errorMessage() पर परिवर्तनीय $e पास कर रहा है, लेकिन यदि ऐसा है, तो इसे और अधिक पारंपरिक तरीके से क्यों न करें?

किसी भी मदद के लिए धन्यवाद।

+0

यह उन दो चीजों में से किसी एक का डुप्लिकेट नहीं है, लेकिन वैसे भी धन्यवाद। –

+0

देखें [यहां] (http://stackoverflow.com/questions/3037526/where-we-use-object-operator-in-php) कि दूसरा संभावित डुप्लिकेट गलत था। –

+0

धन्यवाद। यह उपयोगी है। –

उत्तर

2

नहीं, यह एक गुंजाइश संकल्प ऑपरेटर नहीं दे रहा है यही कारण है कि। :: (जिसे पामायम नेकुडोटायम भी कहा जाता है) स्कोप रेज़ोल्यूशन ऑपरेटर है, the manual देखें।

नहीं, यह कोई फ़ंक्शन नहीं है। यह ऑब्जेक्ट उन्मुख प्रोग्रामिंग है, इसलिए सही शब्द method है।

नहीं, यह कोई संपत्ति नहीं है। फिर, यह method है।

मुझे -> निर्माण के लिए किसी भी शब्दावली के बारे में पता नहीं है। इसका उपयोग कॉल विधियों या किसी श्रेणी के इंस्टेंस पर गुणों तक पहुंचने के लिए किया जाता है। एक वस्तु पर। मुझे लगता है कि आप इसे "इंस्टेंस ऑपरेटर" के रूप में संदर्भित कर सकते हैं।

आपके विशिष्ट मामले में यह एक विधि कॉल है। errorMessage विधि को आपके $e ऑब्जेक्ट पर कॉल किया जा रहा है, जो customException कक्षा का एक उदाहरण है।

+2

स्पष्ट रूप से इसका आधिकारिक नाम "ऑब्जेक्ट ऑपरेटर" है। –

4

यह वस्तु को निरूपित करने के वस्तु उन्मुख प्रोग्रामिंग में प्रयोग किया जाता है> संपत्ति

echo "$foo->bar" $ foo

2

$e की बार संपत्ति गूंज होगा एक वस्तु है।

वस्तु समारोह errorMessage()

इसलिए आप बुला रहे हैं $e के समारोह

संबंधित मुद्दे