我在smarty中定义自定义块和函数。 假设模板中的代码如下:
{myblock}
{myfunction}
{/myblock}
我们还要说{myblock}
调用一个PHP函数(静态MyClass::create()
)来创建MyClass
的实例。
如何从{myfunction}
调用的PHP代码中访问该实例?
我尝试将实例分配给模板变量,但是当我在myfunction
中引用模板时,变量会丢失。如果我使用MyClass的静态属性也是一样的。
有什么建议吗?
(希望一切都清楚......)
编辑:myblock
和myfunction
调用的两种方法都是静态的,我使用private static $instances
变量来尝试保存id引用的实例,其中myblock放置实例,但现在从myfunctions访问相同的静态变量没有运气,它变空了。