original_string: final public function call(MVC $mvc, $method, $fileView = null)
      {
          if (!method_exists($this, $method)) {
              throw new \LogicException(sprintf('Method "s" don\'t exists.', $method));
          }
          # Replace the view object
          $this->view = $mvc->view();
          # Arguments of method
          $arguments = array();
          # Create a reflection method
          $reflectionMethod = new \ReflectionMethod(get_class($this), $method);
          $reflectionParams = $reflectionMethod->getParameters();
          
          foreach ($reflectionParams as $param) {
              if ($paramClass = $param->getClass()) {
                  $className = $paramClass->name;
                  if ($className === 'MVC\\MVC' || $className === '\\MVC\\MVC') {
                      $arguments[] = $mvc;
                  } elseif ($className === 'MVC\\Server\\HttpRequest' || $className === '\\MVC\\Server\\HttpRequest') {
                      $arguments[] = $mvc->request();
                  }
              } else {
                  foreach ($mvc->request()->params as $keyReqParam => $valueReqParam) {
                      if ($param->name === $keyReqParam) {
                          $arguments[] = $valueReqParam;
                          break;
                      }
                  }
              }
          }
          
          $response = call_user_func_array($reflectionMethod->getClosure($this), $arguments);
  
          if (empty($response)) {
              throw new \LogicException('Response null returned.');
          }
          
          if (is_string($response)) {
              $this->response['body'] = $response;
          } elseif ($mvc->request()->isAjax()) {
              $this->response['body'] = $this->renderJson($response);
          } elseif(is_array($response)) {
              if (!$fileView) {
                  throw new \LogicException('File view is null.');
              }
              $class = explode("\\", get_called_class());
              $classname = end($class);
              // Class without Controller
              $classname = str_replace('Controller', '', $classname);
              $file = $classname . "/{$fileView}";
              $this->response['body'] = $this->renderHtml($file, $response);
          }
  
          return $this->response;
      }
code: final public function call(MVC $mvc, $method, $fileView = null)
      {
          if (!method_exists($this, $method)) {
              throw new \LogicException(sprintf('Method "s" don\'t exists.', $method));
          }
          # Replace the view object
          $this->view = $mvc->view();
          # Arguments of method
          $arguments = array();
          # Create a reflection method
          $reflectionMethod = new \ReflectionMethod(get_class($this), $method);
          $reflectionParams = $reflectionMethod->getParameters();
          
          foreach ($reflectionParams as $param) {
              if ($paramClass = $param->getClass()) {
                  $className = $paramClass->name;
                  if ($className === 'MVC\\MVC' || $className === '\\MVC\\MVC') {
                      $arguments[] = $mvc;
                  } elseif ($className === 'MVC\\Server\\HttpRequest' || $className === '\\MVC\\Server\\HttpRequest') {
                      $arguments[] = $mvc->request();
                  }
              } else {
                  foreach ($mvc->request()->params as $keyReqParam => $valueReqParam) {
                      if ($param->name === $keyReqParam) {
                          $arguments[] = $valueReqParam;
                          break;
                      }
                  }
              }
          }
          
          $response = call_user_func_array($reflectionMethod->getClosure($this), $arguments);
  
          if (empty($response)) {
              throw new \LogicException('Response null returned.');
          }
          
          if (is_string($response)) {
              $this->response['body'] = $response;
          } elseif ($mvc->request()->isAjax()) {
              $this->response['body'] = $this->renderJson($response);
          } elseif(is_array($response)) {
              if (!$fileView) {
                  throw new \LogicException('File view is null.');
              }
              $class = explode("\\", get_called_class());
              $classname = end($class);
              // Class without Controller
              $classname = str_replace('Controller', '', $classname);
              $file = $classname . "/{$fileView}";
              $this->response['body'] = $this->renderHtml($file, $response);
          }
  
          return $this->response;
      }
code_tokens: final public function call ( MVC $ mvc , $ method , $ fileView = null ) { if ( ! method_exists ( $ this , $ method ) ) { throw new \ LogicException ( sprintf ( 'Method "s" don\'t exists.' , $ method ) ) ; } # Replace the view object $ this -> view = $ mvc -> view ( ) ; # Arguments of method $ arguments = array ( ) ; # Create a reflection method $ reflectionMethod = new \ ReflectionMethod ( get_class ( $ this ) , $ method ) ; $ reflectionParams = $ reflectionMethod -> getParameters ( ) ; foreach ( $ reflectionParams as $ param ) { if ( $ paramClass = $ param -> getClass ( ) ) { $ className = $ paramClass -> name ; if ( $ className === 'MVC\\MVC' || $ className === '\\MVC\\MVC' ) { $ arguments [ ] = $ mvc ; } elseif ( $ className === 'MVC\\Server\\HttpRequest' || $ className === '\\MVC\\Server\\HttpRequest' ) { $ arguments [ ] = $ mvc -> request ( ) ; } } else { foreach ( $ mvc -> request ( ) -> params as $ keyReqParam => $ valueReqParam ) { if ( $ param -> name === $ keyReqParam ) { $ arguments [ ] = $ valueReqParam ; break ; } } } } $ response = call_user_func_array ( $ reflectionMethod -> getClosure ( $ this ) , $ arguments ) ; if ( empty ( $ response ) ) { throw new \ LogicException ( 'Response null returned.' ) ; } if ( is_string ( $ response ) ) { $ this -> response [ 'body' ] = $ response ; } elseif ( $ mvc -> request ( ) -> isAjax ( ) ) { $ this -> response [ 'body' ] = $ this -> renderJson ( $ response ) ; } elseif ( is_array ( $ response ) ) { if ( ! $ fileView ) { throw new \ LogicException ( 'File view is null.' ) ; } $ class = explode ( "\\" , get_called_class ( ) ) ; $ classname = end ( $ class ) ; // Class without Controller $ classname = str_replace ( 'Controller' , '' , $ classname ) ; $ file = $ classname . "/{$fileView}" ; $ this -> response [ 'body' ] = $ this -> renderHtml ( $ file , $ response ) ; } return $ this -> response ; }
docstring: Call a action of controller
  
  @access public
  @param MVC $mvc         MVC Application object
  @param string $method   Method or Function of the Class Controller
  @param string $fileView String of the view file
  @return array           Response array
  @throws \LogicException
docstring_tokens: Call a action of controller