コード例 #1
0
ファイル: Init.php プロジェクト: dekmabot/dezen-framework
 /**
  * @param Router_Mask $route
  * @param string      $service_name
  *
  * @return Response | null
  */
 protected function executeServiceRoute(\Core\Router_Mask $route, $service_name)
 {
     $response = null;
     $class_name = '\\Service\\' . $service_name . '\\Controller_' . str_replace('/', '_', $route->controller_class_name);
     //		print( $class_name );
     if (class_exists($class_name)) {
         /** @var Controller $controller */
         $controller = new $class_name($this, $route);
         $response = $controller->actionPrepare();
         if ($response instanceof Response) {
             return $response;
         }
         if ($controller instanceof Controller) {
             if ($this->request->method == 'GET') {
                 if (Config::DEV_MODE) {
                     Logs::writeGet($this->request->url_string . '?' . $this->request->get_params_string);
                 }
                 if (method_exists($controller, 'actionGet')) {
                     $response = $controller->actionGet();
                 }
             }
             if ($this->request->method == 'POST') {
                 if (Config::DEV_MODE) {
                     Logs::writePost($this->request->url_string . PHP_EOL . var_export($_POST, true));
                 }
                 if (method_exists($controller, 'actionPost')) {
                     $response = $controller->actionPost();
                 }
             }
         }
     }
     return $response;
 }