adbario / slim-twig-view
Extension for Slim Framework 3 view helper built on top of the Twig 2 templating component
1.0.0
2017-07-20 19:16 UTC
Requires
- php: >=5.5
- slim/slim: ~3.0
- slim/twig-view: ^1.0|^2.0
This package is auto-updated.
Last update: 2024-12-11 15:28:45 UTC
README
This is an extension for Slim Framework Twig View with the following extra functions:
- adds file extension to template names automatically
- uses dot notation for template file paths
Installation
composer require adbario/slim-twig-view
Usage
Default extension for the template files is 'twig', this can be changed with the optional setting while registering Twig view on Slim container.
// Create Slim app $app = new \Slim\App(); // Fetch DI Container $container = $app->getContainer(); // Register Twig View helper $container['view'] = function ($c) { $view = new \Adbar\Slim\Views\Twig('path/to/templates', [ 'cache' => 'path/to/cache', // Optional template file extension, defaults to 'twig' 'file_extension' => 'html' ]); // Instantiate and add Slim specific extension $basePath = rtrim(str_ireplace('index.php', '', $c['request']->getUri()->getBasePath()), '/'); $view->addExtension(new Slim\Views\TwigExtension($c['router'], $basePath)); return $view; }; // Define named route $app->get('/hello/{name}', function ($request, $response, $args) { // Render template file from path 'path/to/templates/user/profile.html' return $this->view->render($response, 'user.profile', [ 'name' => $args['name'] ]); })->setName('profile'); // Run app $app->run();
Custom template functions
Read more from Slim Framework Twig View