コード例 #1
0
ファイル: Error.php プロジェクト: danielspk/tornado
 /**
  * Método que gestiona las excepciones
  * @param  \ErrorException $pExc Excepción
  * @return void
  */
 public function handlerException($pExc)
 {
     // se desactiva el manejador de errores por si hay un
     // nuevo error en el hook de errores (recursividad infinita)
     $this->setHandler(false);
     // se conserva la excepción
     $this->currentException = $pExc;
     // se ejecuta/n el/los gancho/s de errores
     Tornado::getInstance()->hook('error');
     // se finaliza la ejecución
     exit;
 }
コード例 #2
0
ファイル: Router.php プロジェクト: danielspk/tornado
 /**
  * Método que ejecuta el módulo\controlador\acción\parámetros invocado
  * @param  string  $pModule     Nombre del módulo
  * @param  string  $pController Nombre del controlador
  * @param  string  $pMethod     Nombre del método
  * @param  array   $pParams     Parámetros del método
  * @return boolean Resultado de la invocación
  */
 public function callModule($pModule, $pController, $pMethod, $pParams = [])
 {
     // se ajustan los nombres
     $pModule = $this->parseModuleName($pModule);
     $pController = $this->parseModuleName($pController);
     $pMethod = lcfirst($this->parseModuleName($pMethod));
     // se valida si la ruta de la clase solicitada existe
     $path = $this->pathModules . '/' . $pModule . '/Controller/' . $pController . '.php';
     if (!file_exists($path)) {
         throw new \InvalidArgumentException('Module or Controller unknown.');
     }
     //else {
     //require_once $path; // Autoload PSR-4
     //}
     // se agrega el namespace al controlador
     $pController = $this->parseNamespace($this->pathModules) . '\\' . $pModule . '\\Controller\\' . $pController;
     // se valida si el método solicitado existe
     if (!method_exists($pController, $pMethod)) {
         throw new \InvalidArgumentException('Method unknown.');
     }
     // se instancia el controlador
     $controller = new $pController(Tornado::getInstance());
     // se ejecuta la acción junto a sus parámetros si existiesen
     call_user_func_array([$controller, $pMethod], $pParams);
 }