コード例 #1
0
 /**
  * @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;
 }
コード例 #2
0
 /**
  * @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;
 }
コード例 #3
0
 /**
  * @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;
 }