public function load(Config $config) { $this->resourceMap = CacheManager::loadResource(self::CONTEXT_RESOURCE_NAME, CacheManager::APPLICATION_SCOPE); if ($this->resourceMap == null) { ApplicationInitializer::loadAssets(ASSETS_DIRECTORY); $this->resourceMap = $this->loadResourceMap($this->getClasses()); CacheManager::saveResource(self::CONTEXT_RESOURCE_NAME, $this->resourceMap, CacheManager::APPLICATION_SCOPE); } $this->createResources(); $this->loadDataSources($config->getDataSources()); return new ApplicationContext($this->resources); }