Example #1
0
 public function callAction($request)
 {
     if ($this->hasAction($request['action']) || Controller::hasViewForAction($request)) {
         return $this->dispatch($request);
     } else {
         throw new MissingActionException(array('controller' => $request['controller'], 'action' => $request['action']));
     }
 }
Example #2
0
 public static function dispatch($request = null)
 {
     $request = self::normalize($request);
     try {
         $class = Inflector::camelize($request['controller']) . 'Controller';
         $controller = Controller::load($class, true);
         return $controller->callAction($request);
     } catch (MissingControllerException $e) {
         if (Controller::hasViewForAction($request)) {
             $controller = new AppController();
             return $controller->callAction($request);
         } else {
             throw $e;
         }
     }
 }