J'utilise mises en page de la manière suivante dans mes contrôleurs décrits dans les documents (Notez que rien n'est retourné):têtes de réponse de réglage dans Laravel 4.2 lors de l'utilisation layouts/vues
public function someControllerFunction() {
$this->layout = View::make('layout');
$this->layout->content = View::make('page', $params);
}
Dans ma mise en page I ensemble certains cache-control
têtes comme si:
<?php
header('Cache-Control: public');
header('Cache-Control: max-age=600');
Log::info("headers set in layout");
?>
tout cela est bien beau et ces en-têtes sont présents dans la réponse pour toutes les pages de l'application. Mais maintenant, j'ai une page que je veux désactiver la mise en cache explicitement:
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
Log::info("headers set in View");
?>
J'ai essayé de placer dans ma vue, mais pas de cigare. En regardant les journaux, le php dans la vue est exécuté avant que dans la mise en page, ce qui entraîne la mise en page des en-têtes définis remplaçant les en-têtes définis View.
donc j'ai décidé de chercher la façon de le faire et nous avons constaté la documentation vous suggère de retourner une réponse « Laravel » comme ceci:
return Response::view('page')->header('Cache-Control', '...');
Mais comment puis-je faire une réponse qui utilise mises en page? Je ne trouve aucune mention de cela dans les docs.