【发布时间】:2015-07-08 22:08:52
【问题描述】:
Yii2-Smarty:无法访问对象方法
我用smarty extension 设置了Yii2。
现在我试图简单地将layouts/main.php 文件转换为 smarty 模板。为此,我需要访问当前的yii\web\View 对象,该对象是从扩展名$this-smarty-variable 给出的。
我已经通过var_dump()-ing 验证了 smarty $this 变量与视图对象相同,并进行了比较。
问题
根据 smarty3 文档,我应该能够从 smarty 模板中调用 $this-object 上的方法,如下所示:{var_dump($this->head())}。
在模板中应用上述脚本总是返回NULL,这让我猜想没有发生任何方法调用。
问题
如何从 PHP 提供给 smarty 的对象中调用方法?
- 定义用于 smarty 的变量:
$template->assign('app', \Yii::$app); - 在 smarty 模板中调用变量方法:
{$app->getSession();}
我做错了什么?
(我目前的智能布局:pastebin)
【问题讨论】: