php - How to Test if exists a Method inside a Property? -


त्रुटि फेंकने या "@" का उपयोग कैसे करें? < P> वैध हो सकता है:

  $ foo- & gt; बार_एक्स;   

या

  $ foo- & gt; बार () - & gt; x ();   

मुझे ऐसा कुछ चाहिए:

  अगर (($ foo- & gt; बार () - & gt; x ())) echo $ foo- & gt ; बार () - & gt; एक्स (); अगर (($ foo- & gt; बार_ x)) echo $ foo- & gt; bar_x ();    

  $ bar = $ foo- & gt; बार (); अगर (method_exists ($ बार, 'x')) {गूंज $ बार- & gt; x (); } अगर (property_exists ($ foo, 'bar_x')) {गूंज $ foo- & gt; bar_x; }   

बेशक, उन वस्तुओं से निपटना जिनके प्रकार आपको अच्छी तरह से पता नहीं है कि उन पर तरीके कॉल करने में सक्षम होना अच्छा नहीं है। यह स्पष्ट होना चाहिए कि किस वर्ग का एक ऑब्जेक्ट है और किस प्रकार का ऑब्जेक्ट एक विधि वापस आएगा और इसलिए कौन से तरीकों और गुण उपलब्ध हैं। परिभाषित इंटरफेस ओओपी का मुख्य बिंदु है।

सबसे ज्यादा आपको यह तय करना चाहिए कि किस तरह की ऑब्जेक्ट के आधार पर कॉल करना है:

  if ($ foo exampleof SomeClass) {$ Foo- & gt; बार (); } और अगर ($ Foo के उदाहरण कुछ डीफाईन्ड इंटरफ़ेस) {$ foo- & gt; baz (); }   

अधिमानतः आपके पास ज्ञात प्रकार के ऑब्जेक्ट्स से निपटने में यह अस्पष्टता नहीं है:

  फ़ंक्शन (कुछ क्लास $ फ़ू) {$ foo - & gt; बार (); }    

Comments

Popular posts from this blog

excel vba - How to delete Solver(SOLVER.XLAM) code -

jsp - Google line chart x-axis shrinks on transition -

java - Reaching JTextField in a DocumentListener -