/** * Retrieve class footprint * * @param string $className * @return ClassFootprint */ public function get($className) { if (isset($this->_footprints[$className])) { return $this->_footprints[$className]; } if (isset($this->_data[$className])) { $data = $this->_data[$className]; $footprint = new ClassFootprint($data); } else { $footprint = new ClassFootprint(); if (preg_match($this->_interfaceRegex, $className)) { $footprint->setType(ClassFootprint::TYPE_INTERFACE); } } $this->addFootprint($className, $footprint); return $footprint; }
/** * Retrieve class footprint from class scanner * * @param ClassScanner $class * * @return ClassFootprint */ protected function getClassFootprint(ClassScanner $class) { $footprint = new ClassFootprint(); if ($class->isInterface()) { $footprint->setType(ClassFootprint::TYPE_INTERFACE); } elseif ($class->isTrait()) { $footprint->setType(ClassFootprint::TYPE_TRAIT); } $footprint->setParent($class->getParentClass()); foreach ($class->getConstants(false) as $constant) { $footprint->addConstant($constant->getName(), $constant->getValue()); } foreach ($class->getInterfaces() as $interface) { $footprint->addInterface($interface); } return $footprint; }