Esempio n. 1
0
 /**
  * @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;
 }