src/Chiron/Handler/Formatter/ViewFormatter.php
public function format(ServerRequestInterface $request, Throwable $e): string
    {
        // This class doesn't show debug information, so by default we hide the php exception behind a neutral http 500 error.
        if (! $e instanceof HttpException) {
            $e = new \Chiron\Http\Exception\Server\InternalServerErrorHttpException();
        }

        $info = $e->toArray();
        // TODO : ajouter plus d'information dans ce tableau qui va être passé à la vue pour pouvoir utiliser ces informations => https://github.com/cakephp/cakephp/blob/dc63c2f0d8a1e9d5f336ab81b587a54929d9e1cf/src/Error/ExceptionRenderer.php#L218
        /*
            Arguments à passer à la vue :
            $templateData = [
                'response' => $response,
                'request'  => $request,
                'uri'      => (string) $request->getUri(),
                'status'   => $response->getStatusCode(),
                'reason'   => $response->getReasonPhrase(),
                'debug'   => $this->debug,
            ];
            if ($this->debug) {
                $templateData['error'] = $e;
            }
        ]*/

        $info = array_merge($info, ['exception' => $e]); // TODO : vérifier qu'on accéde bien aux informations ajoutées en attribut !!!!!!!!!!!!!

        $statusCode = $info['status'];

        // TODO : gérer le cas des PDOException pour la BDD, avec un template spécial => https://github.com/cakephp/cakephp/blob/dc63c2f0d8a1e9d5f336ab81b587a54929d9e1cf/src/Error/ExceptionRenderer.php#L335
        //https://github.com/cakephp/cakephp/blob/2341c3cd7c32e315c2d54b625313ef55a86ca9cc/src/Template/Error/pdo_error.ctp
        return $this->renderer->render("errors/{$statusCode}", $info);
    }
public function format(ServerRequestInterface $request, Throwable $e): string
    {
        // This class doesn't show debug information, so by default we hide the php exception behind a neutral http 500 error.
        if (! $e instanceof HttpException) {
            $e = new \Chiron\Http\Exception\Server\InternalServerErrorHttpException();
        }

        $info = $e->toArray();
        // TODO : ajouter plus d'information dans ce tableau qui va être passé à la vue pour pouvoir utiliser ces informations => https://github.com/cakephp/cakephp/blob/dc63c2f0d8a1e9d5f336ab81b587a54929d9e1cf/src/Error/ExceptionRenderer.php#L218
        /*
            Arguments à passer à la vue :
            $templateData = [
                'response' => $response,
                'request'  => $request,
                'uri'      => (string) $request->getUri(),
                'status'   => $response->getStatusCode(),
                'reason'   => $response->getReasonPhrase(),
                'debug'   => $this->debug,
            ];
            if ($this->debug) {
                $templateData['error'] = $e;
            }
        ]*/

        $info = array_merge($info, ['exception' => $e]); // TODO : vérifier qu'on accéde bien aux informations ajoutées en attribut !!!!!!!!!!!!!

        $statusCode = $info['status'];

        // TODO : gérer le cas des PDOException pour la BDD, avec un template spécial => https://github.com/cakephp/cakephp/blob/dc63c2f0d8a1e9d5f336ab81b587a54929d9e1cf/src/Error/ExceptionRenderer.php#L335
        //https://github.com/cakephp/cakephp/blob/2341c3cd7c32e315c2d54b625313ef55a86ca9cc/src/Template/Error/pdo_error.ctp
        return $this->renderer->render("errors/{$statusCode}", $info);
    }
public function format ( ServerRequestInterface $ request , Throwable $ e ) : string { // This class doesn't show debug information, so by default we hide the php exception behind a neutral http 500 error. if ( ! $ e instanceof HttpException ) { $ e = new \ Chiron \ Http \ Exception \ Server \ InternalServerErrorHttpException ( ) ; } $ info = $ e -> toArray ( ) ; // TODO : ajouter plus d'information dans ce tableau qui va être passé à la vue pour pouvoir utiliser ces informations => https://github.com/cakephp/cakephp/blob/dc63c2f0d8a1e9d5f336ab81b587a54929d9e1cf/src/Error/ExceptionRenderer.php#L218 /*
            Arguments à passer à la vue :
            $templateData = [
                'response' => $response,
                'request'  => $request,
                'uri'      => (string) $request->getUri(),
                'status'   => $response->getStatusCode(),
                'reason'   => $response->getReasonPhrase(),
                'debug'   => $this->debug,
            ];
            if ($this->debug) {
                $templateData['error'] = $e;
            }
        ]*/ $ info = array_merge ( $ info , [ 'exception' => $ e ] ) ; // TODO : vérifier qu'on accéde bien aux informations ajoutées en attribut !!!!!!!!!!!!! $ statusCode = $ info [ 'status' ] ; // TODO : gérer le cas des PDOException pour la BDD, avec un template spécial => https://github.com/cakephp/cakephp/blob/dc63c2f0d8a1e9d5f336ab81b587a54929d9e1cf/src/Error/ExceptionRenderer.php#L335 //https://github.com/cakephp/cakephp/blob/2341c3cd7c32e315c2d54b625313ef55a86ca9cc/src/Template/Error/pdo_error.ctp return $ this -> renderer -> render ( "errors/{$statusCode}" , $ info ) ; }
Render JSON error.

@param \Throwable $e

@return string
Render JSON error .