slim erreur withHeader dans controller

Default
,

Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais dans mon index.php

$app->get('/preview', function ($request, $response, $args) {
  $response = $this->response->withHeader( 'Content-type', 'application/pdf' );
  $pdf = new Pdf('../views/pages/pdf.php');
  $content = $pdf->toString();
  $response->write($content);
  return $response;
});

La pas de problème, mon code fonctionne très bien

Mais quand je fais la même chose dans mon controller j'obtient une erreur :

"Slim Application Error
The application could not run because of the following error:

Details
Type: Error
Message: Call to a member function withHeader() on null"

Ce que je fais dans mon controller.php

public function pdf(Request $request, Response $response){
    $response = $this->response->withHeader( 'Content-type', 'application/pdf' );
    $pdf = new Pdf('../views/pages/pdf.php');
    $content = $pdf->toString();
    $response->write($content);

    return $response;
}

Ce que je veux

Comment faire pour que puisse afficher mon PDF en passant par mon controller?

2 Réponse

35326
,

Salut,

$this->response vaut null, c'est plutot $response->withHeader()

Default
,

Hello, merci de ta réponse, effectivement cela fonctionne :)