Вы можете добавить глобальные переменные в среду Twig, чтобы они были доступны во всех файлах шаблонов:
(Чтобы предоставить пример кода, я предположил, что вы определили службу, подобную user-authentication-service
который может разрешить текущий пользователь)
// Twig templates
Twig::class => function (ContainerInterface $container) {
//...
$twig = Twig::create($twigSettings['path'], $twigSettings['settings']);
$twig->getEnvironment()->addGlobal(
'general_settings',
[
'site_name' => 'my personal website',
'contact_info' => 'me@example.com'
]);
$twig->getEnvironment()->addGlobal(
'current_user',
// assuming this returns current user
$container->get('user-authentication-service')->getCurrentUser()
);
return $twig;
},
Теперь у вас есть доступ к general_settings
и current_user
во всех ваших файлах шаблонов.