/** * @return array */ public function getDependencyViolations() { $dependencyTree = $this->treeReader->read(); foreach ($dependencyTree as $dependency) { if ($this->violationFinder->isViolation($dependency) && !$this->dependencyFilter->filter($dependency)) { $this->addViolation($dependency); } } return $this->dependencyViolations; }
/** * @param string $bundleName * * @return array */ protected function getDependentBundles($bundleName) { $dependencyTree = $this->treeFilter->filter($this->dependencyTreeReader->read()); $dependentBundles = []; foreach ($dependencyTree as $dependency) { if ($dependency[DependencyTree::META_FOREIGN_BUNDLE] === 'external') { continue; } if ($dependency[DependencyTree::META_BUNDLE] === $bundleName) { $dependentBundles[] = $dependency[DependencyTree::META_FOREIGN_BUNDLE]; } } $dependentBundles = array_unique($dependentBundles); sort($dependentBundles); return $dependentBundles; }
/** * @return array */ public function build() { $dependencyTree = $this->filter->filter($this->dependencyTreeReader->read()); $this->buildMatrixStructure(); foreach ($dependencyTree as $dependency) { $bundle = $dependency[DependencyTree::META_BUNDLE]; $foreignBundle = $dependency[DependencyTree::META_FOREIGN_BUNDLE]; if ($bundle === 'external' || $foreignBundle === 'external' || $bundle === 'Business') { continue; } $info = $this->matrix[$bundle][$foreignBundle]; $info[] = $dependency[DependencyTree::META_CLASS_NAME] . ' => ' . $dependency[DependencyTree::META_FOREIGN_CLASS_NAME]; $this->matrix[$bundle][$foreignBundle] = $info; } return $this->matrix; }