php - Call method by string? -


  क्लास मायक्लास {निजी $ डेटा = सरणी ('कार्रवाई' = & gt; 'डालें'); सार्वजनिक फ़ंक्शन डालें () {गूंज 'कहा जाता है'; } सार्वजनिक फ़ंक्शन रन () {$ this- & gt; $ this- & gt; डेटा ['कार्रवाई'] (); }}   

यह काम नहीं करता:

  $ this- & gt; $ this- & gt; डेटा ['कार्रवाई'] ();   

केवल possibilites call_user_func ();

कोशिश करें:

  $ this- & gt; {$ this- & gt; डेटा ['कार्रवाई']} ();   

आप यह सुरक्षित रूप से जांच कर सकते हैं कि उसे पहले कॉल करने योग्य है:

  $ action = $ this- & gt; डेटा ['कार्रवाई']; यदि (is_callable (सरणी ($ $, $ क्रिया))) {$ this- & gt; $ कार्रवाई (); } और {$ this- & gt; डिफ़ॉल्ट (); // या किसी प्रकार की त्रुटि संदेश}    

Comments