2008-12-24 4 views
5

क्या स्टेटिक क्लासेस/तरीके नाम से कॉल करने का कोई तरीका है?php: एक चर के माध्यम से स्टेटिक क्लासेस को कॉल करना

उदाहरण:

$name = 'StaticClass'; 
($name)::foo(); 

मैं वर्ग है जो मैं में सभी स्थैतिक तरीकों रखना है और मैं उन्हें इस तरह से फोन करना चाहते हैं।

उत्तर

18
$name::foo() 

PHP5.3 के बाद से ही संभव है। पिछले संस्करणों में आपको

call_user_func(array($classname,$methodname)) 
+0

क्या होगा यदि हम भी मूल्य पास करना चाहते हैं ... – KoolKabin

+1

@ कुल्केबिन: 'call_user_func' के लिए और तर्क के रूप में तर्क पारित करें। 'Call_user_func_array' भी है। Php.net देखें। – Kornel

5

आप call_user_func समारोह

का उपयोग कर कुछ इस तरह कर सकते हैं यह निम्नलिखित

$name = 'staticClass'; 
call_user_func(array($name, 'foo')); 

आशा कुछ ऐसा दिखाई देगा इस मदद करता है

+0

हाँ, यह वही सामान है जो मैं ढूंढ रहा हूं। हालांकि मुझे उम्मीद थी कि यह आसान होगा। – smack0007

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