Php 在Slim v3中全局设置模板数据
我最近开始用版本3中更新的Slim框架构建一个新的应用程序 我通常在每个模板中都有一些变量(比如用户名、日期等)。在Slim v2中,我使用钩子,然后调用如下方法:Php 在Slim v3中全局设置模板数据,php,slim,Php,Slim,我最近开始用版本3中更新的Slim框架构建一个新的应用程序 我通常在每个模板中都有一些变量(比如用户名、日期等)。在Slim v2中,我使用钩子,然后调用如下方法: $app->view->setData(array( 'user' => $user )); 钩子已经被v3中的中间件所取代,但是我不知道如何为所有模板全局设置视图上的数据-有什么想法吗?这实际上是根据您使用的视图组件,Slim 3 project提供了2个组件和 对于Twig视图,您可以使用offset
$app->view->setData(array(
'user' => $user
));
钩子已经被v3中的中间件所取代,但是我不知道如何为所有模板全局设置视图上的数据-有什么想法吗?这实际上是根据您使用的视图组件,Slim 3 project提供了2个组件和 对于Twig视图,您可以使用offsetSet,这是一个基本的示例,我将使用该示例,但还有一行代码将foo变量设置到视图中 您只需使用
{{ foo }}
对于PHP视图,它有不同形式的向模板传递变量,您可以在
用于细枝视图
$view->getEnvironment()->addGlobal($name,$value)代码>您使用的视图引擎的类型是什么?是PHP视图还是Twig视图?我目前正在使用Smarty视图,不过我不介意切换-还没有很多模板,我只是使用了它,因为我以前使用过它。实际上,我是根据Slim 3的两个基本组件,PHP视图和Twig视图来回答的
{{ foo }}
// via the constructor
$templateVariables = [
"title" => "Title"
];
$phpView = new PhpRenderer("./path/to/templates", $templateVariables);
// or setter
$phpView->setAttributes($templateVariables);
// or individually
$phpView->addAttribute($key, $value);