Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP एकाधिक ऑब्जेक्ट फ़ंक्शन कॉल

इसे मेथड चेनिंग कहा जाता है और क्लास ($this), या उन फ़ंक्शंस से किसी अन्य क्लास ऑब्जेक्ट के संदर्भ को वापस करके किया जाता है। फिर आप लौटाई गई वस्तु पर एक विधि को कॉल कर सकते हैं।

यहाँ एक सरल उदाहरण है।

class foo{
     protected $_bar;

     public function bar($value){
          $this->_bar = $value;
          return $this;
    }


   public function out(){
        echo $this->_bar;
   }
}

$a = new foo();
$a->bar('hello')->out();

आउटपुट:

'hello'

बस थोड़ा और समझाने के लिए, उपरोक्त कोड $a->bar('hello')->out(); मोटे तौर पर ऐसा करने के बराबर है:

 $a = new foo();
 $b = $a->bar('hello');  //$a and $b are the same instance of the object
 $b->out();

अब क्योंकि bar() $this returns लौटाता है हम इसे $b . को असाइन कर सकते हैं ऊपर की तरह और फिर कॉल करें out() . लेकिन $a और $b दोनों foo . के एक ही उदाहरण का संदर्भ देते हैं ऑब्जेक्ट, क्योंकि हमने $this . लौटाया है bar() . से . इसलिए इस अतिरिक्त "नकली" चर की कोई आवश्यकता नहीं है क्योंकि हम सीधे अगली कॉल के लिए रिटर्न ऑब्जेक्ट का संदर्भ दे सकते हैं। यह किसी भी ऑब्जेक्ट के साथ काम करता है जो किसी विधि से लौटाया जाता है (न केवल $ यह), लेकिन जाहिर है कि श्रृंखला में अगली कॉल लौटाई गई वस्तु के विरुद्ध है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में प्राथमिक कुंजी निकालें

  2. मैं खंड होने में दो शर्त कैसे बना सकता हूं

  3. डंप फ़ाइल MySQL 5.6.10

  4. QSqlDatabase खुला हमेशा अद्यतन के बाद सच हो जाता है

  5. प्रमाणीकरण प्लगइन 'caching_sha2_password' लोड नहीं किया जा सकता