Created
November 1, 2016 15:05
-
-
Save tflight/5b362e8a9faf53099e487a74e5b8bc3f to your computer and use it in GitHub Desktop.
Twig View middleware invokable class to add common attributes to Slim's Twig View
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace App\Middleware; | |
use Psr\Http\Message\ServerRequestInterface as Request; | |
use Psr\Http\Message\ResponseInterface as Response; | |
use Slim\Views\Twig as View; | |
class ViewMiddleware | |
{ | |
protected $view; | |
public function __construct(View $view) | |
{ | |
$this->view = $view; | |
} | |
/** | |
* Twig View middleware invokable class to add common attributes to Slim's Twig View | |
* | |
* @param \Psr\Http\Message\ServerRequestInterface $request PSR7 request | |
* @param \Psr\Http\Message\ResponseInterface $response PSR7 response | |
* @param callable $next Next middleware | |
* | |
* @return \Psr\Http\Message\ResponseInterface | |
**/ | |
public function __invoke(Request $request, Response $response, $next) | |
{ | |
$this->view['request_uri_path'] = $request->getUri()->getPath(); | |
$this->view['csrf'] = | |
'<input type="hidden" name="csrf_name" value="' . $request->getAttribute('csrf_name') . '">' | |
. '<input type="hidden" name="csrf_value" value="' . $request->getAttribute('csrf_value') . '">'; | |
$response = $next($request, $response); | |
return $response; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment