/** * Returns the framework manager for the given class name * * @param string $className * @return object * * @throws \Zepi\Turbo\Exception Cannot find framework manager "{className}". */ protected function getFrameworkManager($className) { switch ($className) { case 'Zepi\\Turbo\\Manager\\DataSourceManager': return $this->framework->getDataSourceManager(); break; case 'Zepi\\Turbo\\Manager\\DependencyInjectionManager': return $this->framework->getDependencyInjectionManager(); break; case 'Zepi\\Turbo\\Manager\\ModuleManager': return $this->framework->getModuleManager(); break; case 'Zepi\\Turbo\\Manager\\RequestManager': return $this->framework->getRequestManager(); break; case 'Zepi\\Turbo\\Manager\\RouteManager': return $this->framework->getRouteManager(); break; case 'Zepi\\Turbo\\Manager\\RuntimeManager': return $this->framework->getRuntimeManager(); break; default: throw new Exception('Cannot find framework manager "' . $className . '".'); break; } }
/** * The RebuildFrameworkCache event handler deletes the events and routes * cache and executes the activation method on all modules. * * @access public * @param \Zepi\Turbo\Framework $framework * @param \Zepi\Turbo\Request\CliRequest $request * @param \Zepi\Turbo\Response\Response $response */ public function execute(Framework $framework, CliRequest $request, Response $response) { $framework->getRuntimeManager()->clearCache(false); $framework->getRouteManager()->clearCache(false); $framework->getModuleManager()->reactivateModules(); $response->setOutputPart('cacheCleared', 'The cache was successfully cleared and rebuilt!'); }
/** * Clears the handlers cache and reactivates the modules * to rebuild the cache. * * @access public * @param boolean $reactivateModules */ public function clearCache($reactivateModules = true) { $this->handlers = array(); if ($reactivateModules) { $this->framework->getModuleManager()->reactivateModules(); } }
/** * Returns the directory for the given module namespace * * @access protected * @param string $namespace * @return false|string */ protected function buildPathFromNamespace($namespace) { // Prepare the namespace $namespace = Framework::prepareNamespace($namespace); // Load the module $moduleManager = $this->framework->getModuleManager(); $module = $moduleManager->getModule($namespace); if ($module === false) { return false; } return $module->getDirectory(); }
/** * This event handler lists all activated modules with the description * of each module. * * @access public * @param \Zepi\Turbo\Framework $framework * @param \Zepi\Turbo\Request\CliRequest $request * @param \Zepi\Turbo\Response\Response $response */ public function execute(Framework $framework, CliRequest $request, Response $response) { $output = 'Activated modules:' . PHP_EOL; $output .= '==================' . PHP_EOL . PHP_EOL; $moduleManager = $framework->getModuleManager(); foreach ($moduleManager->getModules() as $namespace => $module) { $properties = $moduleManager->getModuleProperties($module->getDirectory()); $info = $properties->module; $output .= '- ' . $info->name . ' ' . $info->version . ' (' . $namespace . '):' . PHP_EOL; $output .= ' ' . $info->description . PHP_EOL . PHP_EOL; } $response->setOutputPart('modules', $output); }