在今天编写项目时遇到一个问题,是关于Thinkphp不支持include动态包含的问题。在网上遍寻答案才找到了一个比较简单且完美的解决方案。其实这个问题在编写过程中很容易遇到,模板头部会包含不同用户的信息,但是Thinkphp不支持include动态包含。
解决方案
模板包含不再使用include,而使用R方法。原因是include包含文件时直接调用了模板的静态文件而没有经过控制器中的方法,因而先使用R方法先调用指定控制器中的方法获取数据。例如:
{:R('Common/header')}
而此时如果所包含的文件继续使用display()方法输出会导致加载模板失败超时

因此在模板输出是必须使用T方法,
$this->display(T('Common:header'));
本文解决ThinkPHP中不支持动态包含的问题,通过使用R方法替代include,并结合T方法正确输出模板,确保控制器方法能被调用,避免超时错误。
2473

被折叠的 条评论
为什么被折叠?



