public getNumberOfRequiredParametersForRule ( $ruleName ) : integer | ||
return | integer |
public function getNumberOfRequiredParametersForRule($ruleName)
{
$rc = new \ReflectionClass($this->RuleList);
try {
$rm = $rc->getMethod($ruleName);
} catch (\Exception $e) {
}
if (isset($rm)) {
return $rm->getNumberOfRequiredParameters();
} else {
if (isset($this->RuleList->closures[$ruleName])) {
$rf = new \ReflectionFunction($this->RuleList->closures[$ruleName]);
return $rf->getNumberOfRequiredParameters();
}
}
return 0;
}
/** * Uses array of rule names to create a map of names to paramter count * * @return array */ public function getRuleParamMap($rules) { $map = array(); foreach ($rules as $value) { $map[$value] = \RuleManager::getNumberOfRequiredParametersForRule($value); } return $map; }