public function getRule($name)
{
$lcName = strtolower(ltrim($name, '\\'));
if (isset($this->rules[$lcName])) {
return $this->rules[$lcName];
}
foreach ($this->rules as $key => $rule) {
// Find a rule which matches the class described in $name where:
if (empty($rule['instanceOf']) && $key !== '*' && is_subclass_of($name, $key) && (!array_key_exists('inherit', $rule) || $rule['inherit'] === true)) {
// And that rule should be inherited to subclasses
return $rule;
}
}
// No rule has matched, return the default rule if it's set
return isset($this->rules['*']) ? $this->rules['*'] : [];
}