Пример #1
0
 /**
  * getMap returns the whole map for metadata from class name
  *
  * @author Lauri Orgla <*****@*****.**>
  *
  * @param $className
  *
  * @throws \Exception
  * @return array
  */
 public static function getMap($className)
 {
     $cachedResult = null;
     self::readCache($className, $cachedResult);
     if (!$cachedResult) {
         self::checkExternalDependencies();
         $analyzer = Factory::getAnalyzer();
         $result = [];
         try {
             $analyzerResult = $analyzer->addClass($className)->analyze()->getResult()[$className];
         } catch (\Exception $e) {
             throw new \Exception('Mapper Exception. Invalid class given');
         }
         self::processMethods($className, $analyzerResult, $result);
         self::processProperties($className, $analyzerResult, $result);
         self::saveCache($className, $result);
         return $result;
     }
     return $cachedResult;
 }