Example #1
0
 /**
  * Calculates the Number of Children (NOC) metric for the class.
  */
 protected function calculateNumberOfChildren()
 {
     $className = $this->class->getName();
     if (!isset(self::$nocCache[$className])) {
         self::$nocCache = array();
     }
     if (empty(self::$nocCache)) {
         foreach (get_declared_classes() as $_className) {
             $class = new ReflectionClass($_className);
             $parent = $class->getParentClass();
             if ($parent !== FALSE) {
                 $parentName = $parent->getName();
                 if (isset(self::$nocCache[$parentName])) {
                     self::$nocCache[$parentName]++;
                 } else {
                     self::$nocCache[$parentName] = 1;
                 }
             }
         }
     }
     if (isset(self::$nocCache[$className])) {
         $this->noc = self::$nocCache[$className];
     }
 }