/** * Delegate execution to either modular or non-modular sub-rule depending on input parameters * * @param array $params * @return array */ public function getPatternDirs(array $params) { if (isset($params['module_name'])) { return $this->ruleModular->getPatternDirs($params); } else { return $this->ruleNonModular->getPatternDirs($params); } }
/** * Delegate execution to either modular or non-modular sub-rule depending on input parameters * * @param array $params * @return array * @throws \InvalidArgumentException */ public function getPatternDirs(array $params) { $isNamespaceDefined = isset($params['namespace']); $isModuleDefined = isset($params['module']); if ($isNamespaceDefined && $isModuleDefined) { return $this->ruleModular->getPatternDirs($params); } elseif (!$isNamespaceDefined && !$isModuleDefined) { return $this->ruleNonModular->getPatternDirs($params); } throw new \InvalidArgumentException("Parameters 'namespace' and 'module' should either be both set or unset."); }