2011-09-22 15 views
5

मुझे यह जानने की ज़रूरत है कि विधि को स्थिर नाम के रूप में घोषित किया गया है और इसमें वर्ग का नाम दिया गया है। method_exists स्थिर और गैर स्थैतिक दोनों विधियों के लिए true प्रदान करता है।यह जांचने के लिए कि PHP में कोई विधि स्थिर है या नहीं?

उत्तर

6

उपयोग ReflectionMethod::isStatic

+0

कैसे काम करता है? लिंक ReflectionClass :: getStaticPropertyValue को इंगित करता है लेकिन यह गुणों के लिए विधियों के लिए नहीं है। इसे यहां लिंक करना चाहिए: http://php.net/manual/en/reflectionmethod.isstatic.php लेकिन इसमें कोई उदाहरण नहीं है, और मैं यह नहीं समझ सकता कि यह कैसे काम करता है। –

+0

इसे समझ लिया। एक नया जवाब जोड़ना –

+0

$ विधि = नया प्रतिबिंब विधि ('NameOfClass', 'nameOfMethod'); $ isStatic = $ method-> isStatic(); –

7

यहाँ कैसे ReflectionMethod उपयोग करने के लिए इस पर कुछ अधिक स्पष्ट तरीका है:

$MethodChecker = new ReflectionMethod($ClassName,$MethodName); 
var_dump($MethodChecker->isStatic()); 
संबंधित मुद्दे

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