新随笔  :: 联系 :: 订阅 订阅  :: 管理

Smarty 学习笔记七 debug

Posted on 2012-06-12 20:21  张贺  阅读(3024)  评论(0编辑  收藏  举报

Smarty内置一个调试控制器,通过调试控制器,你可以获取当前模版页面中所有的变量信息:包括include进来的模版信息,所有在php脚本中assign过的变量以及当前模版页面请求的所有配置文件中的变量,但是不会获取在模版页中通过{assign}内置方法定义的变量信息。
打开调试控制器:
1.通过设置smarty的$debugging值为TRUE:

1 $smarty->debugging = true;

 

2.通过修改$debugging_ctrl变量,该变量接受两个值:NONEURL,当设置为NONE时,不会启动调试程序;当设定值为URL时,如果在url地址栏中发现SMARTY_DEBUG请求信息,便会打开控制台。如:

1 $smarty->debugging_ctrl = 'URL';
2 //.../index.php?SMARTY_DEBUG

 

可以通过设定smarty_debug_id属性来指定url地址栏中的关键字,默认是SMARTY_DEBUG
注:如果设定$smarty->debugging = true;$debugging_ctrl将不在起作用。

3.在模版页中使用{debug}标签。使用该标签后,将会忽略PHP脚本中debugging的设定,即使debugging=false,也会打开调试控制脚本。
注:调试控制器只会在使用display()显示模版时生效,而不能在fetch()中使用。
当打开调试控制器开关时,再次刷新页面,就会弹出一个javascript调试窗口来显示相关信息。

调试控制器模版:
默认的调试控制器模版是smarty目录下的debug.tpl文件。可以通过$debug_tpl变量来指定一个自己的控制器模版。

1 $smarty->debug_tpl = '.../myDebug.tpl';