2010-08-02 16 views
43

w PHP można sprawdzić wszystkie dostępne metody dla obiektu tak:PHP: Uzyskaj argumenty metody?

$methods = get_class_methods($object); 

Ale jak widzę wich argumenty mają być wysłane do tych metod?

Czy jest w tym funkcja?

Odpowiedz

88

Można użyć 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

Dzięki kilka :) – Rakward

+3

A jeśli po prostu chcesz wiedzieć, ile argumenty wymagany, użyj 'getNumberOfRequiredParameters' http: //www.php. net/manual/en/reflectionfunctionabstract.getnumberofrequiredparameters.php – bastey

+1

Czy mimo to istnieje powód, aby zwrócić to, co zostanie przyjęte jako argument? Na przykład, jeśli akceptuje ciąg, wyświetl listę akceptowanych łańcuchów? –

Powiązane problemy