/** * 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; }