Przykład szablonów
Poniższy przykład pokazuje jak w prosty sposób można korzystać z globalnych szablonów dla strony
- Po zainstalowaniu modułu należy utworzyć folder
templates
w głównym folderze projektu. - W folderze
templates
tworzymy plikbase.twig
z następującą zawartością:
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Tytuł strony</title>
{{ debugbarHeader }}
</head>
<body>
{{ content }}
</body>
</html>
3.. Przechodziny do pliku public/index.php
i modyfikujemy go w taki sposób aby korzystał z szablonów:
<?php
require('../vendor/autoload.php');
try {
\Nimblephp\twig\Twig::$globalPaths[] = '../templates';
$route = new \Nimblephp\framework\Route(new \Nimblephp\framework\Request());
$kernel = new \Nimblephp\framework\Kernel($route);
ob_start();
$kernel->handle();
(new \Nimblephp\twig\Template('base'))->render([
'content' => ob_get_clean(),
'debugbarHeader' => Debugbar::renderHeader()
]);
} catch (Throwable $e) {
$twig = new \Nimblephp\twig\Twig();
echo $twig->renderSimpleException($throwable);
}
if ($_ENV['DEBUG'] && !(new \Nimblephp\framework\Request())->isAjax()) {
echo \Nimblephp\debugbar\Debugbar::render();
}
W powyższym skrypcie:
- Definiujemy folder z szablonami
- Pobieramy routingu
- Renderujemy szablon o nazwie
base
oraz przesyłamy do niego zmiennącontent
z zawartością strony - W zmiennej
debugbarHeader
przesyłamy nagłówek debugbara - W przypadku błędu wyświetlamy prosty komunikat błędu wygenerowany z gotowego szablonu na bazie bootstrap5
- Wyświetlamy PHPDebugBar