/** * @return Psc\Code\Generate\GClass */ public function getControllerClass($controllerName, $check = TRUE) { if (array_key_exists($controllerName, $this->controllerClasses)) { $gClass = new GClass($this->controllerClasses[$controllerName]); $this->log(sprintf("Ueberschreibe Klasse %s fuer ControllerName: %s.", $gClass->getFQN(), $controllerName), 5); } else { $gClass = new GClass(); $gClass->setClassName($controllerName . 'Controller'); $gClass->setNamespace($this->getControllersNamespace()); $this->log(sprintf("Klasse %s für ControllerName: '%s' mit Controllernamespace generiert.", $gClass->getFQN(), $controllerName), 5); } try { if ($check && !$gClass->exists()) { // autoloads throw new \Psc\Exception('Klasse existiert nicht'); } } catch (\Exception $e) { // sieht so kompliizert aus, damit noch mehr exceptions gecatched werden als diese unsere eigene throw ControllerRouteException::missingController($gClass, $e); } return $gClass; }