You can use 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();}