Render your Slim 3 application views using Plates template engine.
Via Composer
$ composer require projek-xyz/slim-plates --prefer-dist
Requires Slim micro framework 3 and PHP 5.5.0 or newer.
// Create Slim app
$app = new \Slim\App();
// Fetch DI Container
$container = $app->getContainer();
// Register Plates View helper:
// Option 1, using PlatesProvider
$container->register(new \Projek\Slim\PlatesProvider);
// Option 2, using Closure
$container['view'] = function ($c) {
$view = new \Projek\Slim\Plates([
// Path to view directory (default: null)
'directory' => 'path/to/views',
// Path to asset directory (default: null)
'assetPath' => 'path/to/static/assets',
// Template extension (default: 'php')
'fileExtension' => 'tpl',
// Template extension (default: false) see: http://platesphp.com/extensions/asset/
'timestampInFilename' => false,
]);
// Set \Psr\Http\Message\ResponseInterface object
// Or you can optionaly pass `$c->get('response')` in `__construct` second parameter
$view->setResponse($c->get('response'));
// Instantiate and add Slim specific extension
$view->loadExtension(new Projek\Slim\PlatesExtension(
$c->get('router'),
$c->get('request')->getUri()
));
return $view;
};
// Define named route
$app->get('/hello/{name}', function ($request,