PHP में "->" मतलब/संदर्भ क्या है?




wordpress oop (10)

यह वस्तु के सदस्य तक पहुंचता है; $ obj-> प्रोप $ ओबीजे वैरिएबल में जो वस्तु ऑब्जेक्ट की "प्रोप" संपत्ति का उपयोग करती है।

कई अन्य प्रोग्रामिंग भाषाओं में, इस उद्देश्य के लिए एक अवधि का उपयोग किया जाता है: obj.prop या obj.method (), उदाहरण के लिए।

इस प्रश्न का उत्तर यहां दिया गया है:

क्या होता है -> मतलब / PHP में संदर्भित करें?

वर्डप्रेस से निम्नलिखित में, मुझे पता है कि if कथन कथन करता है, उदाहरण के लिए, लेकिन -> क्या करता है?

<?php if ( $wp_query->max_num_pages > 1 ) : ?>   

यह जावास्क्रिप्ट और जावा में अवधि (।) की तरह है। यह सिर्फ एक साधारण एक्सेस ऑपरेटर है।


सबसे पहले आपको निम्नलिखित समझना चाहिए। PHP और कई अन्य भाषाओं में हमारे पास निम्न प्रकार की प्रविष्टियां हैं:

  • चर
  • Arrays
  • वस्तुओं

-> आपको ऑब्जेक्ट के भीतर किसी विधि या मान तक पहुंचने की अनुमति देता है, वैसे ही [] आपको किसी सरणी के भीतर मानों तक पहुंचने की अनुमति देता है।

एक वर्ग एक बॉक्स की तरह है, और उस बॉक्स के भीतर बहुत सारी चीज़ें हैं, और प्रत्येक आइटम एक दूसरे के साथ बातचीत कर सकता है क्योंकि वे एक ही बॉक्स में हैं।

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

class Box
{
    function firstItem()
    {

    }


    function secondItem()
    {

    }
}

उपरोक्त वह है जिसे हम कक्षा कहते हैं। यह मूल रूप से कोड का एक संरचित टुकड़ा है जो वास्तव में कुछ भी नहीं करता है जब तक यह एक वस्तु बन जाता है

ऑब्जेक्ट new कीवर्ड का उपयोग करके बनाया गया है, जो कक्षा को तुरंत चालू करता है और इससे ऑब्जेक्ट बनाता है।

$box = new Box;

अब उपर्युक्त $box , जो कि बॉक्स क्लास से बनाई गई ऑब्जेक्ट है, में अंदर के तरीके हैं, जैसे firstItem()

ये उनके भीतर से अलग कार्यों की तरह हैं, हमारे पास एक और चर है जिसे $this कहा जाता है और इसका उपयोग उस ऑब्जेक्ट के भीतर अन्य विधियों तक पहुंचने के लिए किया जाता है।

अब ऑब्जेक्ट्स के बाहर से विधियों तक पहुंचने के लिए आपको अपने प्रश्न में वर्णित ऑपरेटर का उपयोग करना होगा।

$box->firstItem();

ऑपरेटर -> आपको चर $$ से विधि निष्पादित करने की अनुमति देगा।


यह समझना बहुत आसान है।

PHP में हम -> कक्षा के अंदर परिभाषित विधि / संपत्ति तक पहुंचने के लिए उपयोग करते हैं।

तो आपके मामले में ($ wp_query-> max_num_pages), आप max_num_pages का मान प्राप्त करने का प्रयास कर रहे हैं जो $ wp_query क्लास का चर है।

$ wp_query ऑब्जेक्ट जानकारी वर्तमान अनुरोध को परिभाषित करती है, और उसके बाद $ wp_query निर्धारित करता है कि यह किस प्रकार की क्वेरी से निपट रहा है (संभवतः एक श्रेणी संग्रह, दिनांकित संग्रह, फ़ीड, या खोज), और अनुरोधित पोस्ट प्राप्त करता है। यह अनुरोध पर बहुत सारी जानकारी बरकरार रखता है, जिसे बाद की तारीख में खींचा जा सकता है।


-> किसी ऑब्जेक्ट के सदस्य तक पहुंचता है। तो $wp_query->max_num_pages ऑब्जेक्ट $wp_query में फ़ील्ड max_num_pages तक पहुंच रहा है। इसका उपयोग किसी ऑब्जेक्ट से संबंधित किसी विधि या फ़ील्ड तक पहुंचने के लिए किया जा सकता है, और यदि आप सी ++ या जावा से परिचित हैं, तो यह myObject.myField के बराबर है


-> किसी वस्तु के तरीकों और विशेषताओं तक पहुंचने के लिए उपयोग किया जाता है। php.net/manual/en/language.oop5.php देखें।


<?php
class Main{
 private $name = 'My Name is Febri.<br/>';
 private function print_name(){
  echo $this -> name;
 }
}

class Descend extends Main{
 function print(){
  $this -> print_name();
 }
}

$try = new Descend;
$try -> print();
echo $try -> name;
?>

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


फ़ील्ड तक पहुंचने के लिए, किसी ऑब्जेक्ट में विधियों का उपयोग करने के लिए, यह सरणी चर में [] समानांतर है ( $array['field'] $object->field )। WP में आप उदाहरण के लिए $post पर इसका उपयोग करेंगे, क्योंकि यह एक ऑब्जेक्ट है।


यह दाईं ओर दिए गए नाम के साथ बाईं ओर ऑब्जेक्ट के सदस्य तक पहुंचता है।


-> मूल रूप से किसी ऑब्जेक्ट के दायर तक पहुंचने के लिए उपयोग किया जाता है। जावा में विशेषताओं के लिए एनालॉगियस।

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

class Student {
String name;
int rollno;
}

Student.name किसी दिए गए छात्र ऑब्जेक्ट का नाम एक्सेस करता है।





syntax