2010-08-02 9 views
43

PHP में मैं बहुत की तरह एक वस्तु के लिए सभी उपलब्ध तरीकों की जांच कर सकते हैं:PHP: विधि के तर्क प्राप्त करें?

$methods = get_class_methods($object); 

लेकिन मैं कैसे देख सकते हैं जो तर्क इन तरीकों के लिए भेजा जाना है?

क्या इसके लिए कोई फ़ंक्शन है?

उत्तर

88

आप उपयोग कर सकते हैं reflection ...

$r = new ReflectionMethod($className, $methodName); 
$params = $r->getParameters(); 
foreach ($params as $param) { 
    //$param is an instance of ReflectionParameter 
    echo $param->getName(); 
    echo $param->isOptional(); 
} 
+1

धन्यवाद एक गुच्छा :) – Rakward

+3

और जब आप बस, पता है कि कैसे कई तर्क एक आवश्यक चाहते का उपयोग 'getNumberOfRequiredParameters' http: //www.php। नेट/मैनुअल/एन/reflectionfunctionabstract.getnumberofrequiredparameters.php – bastey

+1

क्या वैसे भी वापस लौटने के लिए क्या एक तर्क के रूप में स्वीकार किया जाएगा? उदाहरण के लिए, यदि यह एक स्ट्रिंग स्वीकार करता है, तो स्वीकार किए गए तारों को सूचीबद्ध करें? –

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