getAllowedDependendencies() public method

public getAllowedDependendencies ( $layerName ) : array
return array
Example #1
0
 /**
  * @param DependencyResult                $dependencyResult
  * @param ClassNameLayerResolverInterface $classNameLayerResolver
  * @param ConfigurationRuleset            $configurationRuleset
  *
  * @return RulesetViolation[]
  */
 public function getViolations(DependencyResult $dependencyResult, ClassNameLayerResolverInterface $classNameLayerResolver, ConfigurationRuleset $configurationRuleset)
 {
     $violations = [];
     foreach ($dependencyResult->getDependenciesAndInheritDependencies() as $dependency) {
         $layerNames = $classNameLayerResolver->getLayersByClassName($dependency->getClassA());
         foreach ($layerNames as $layerName) {
             foreach ($classNameLayerResolver->getLayersByClassName($dependency->getClassB()) as $layerNameOfDependency) {
                 if ($layerName == $layerNameOfDependency) {
                     continue;
                 }
                 if (in_array($layerNameOfDependency, $configurationRuleset->getAllowedDependendencies($layerName))) {
                     continue;
                 }
                 $violations[] = new RulesetViolation($dependency, $layerName, $layerNameOfDependency, '');
             }
         }
     }
     return $violations;
 }