[朝花夕拾]smarty 打开报错提示(错误提示)并调试查看所有变量,smarty 调试打印数组及显示变量。直接查看编译结果看是否有smarty模板编译缓存。
一,调试模式查看所有变量和数组
1、设置配置文件中的 debuging的值为true。即开始调试(设置完这一步,一般情况下在浏览页面的时候就可以看到一个弹窗了,里面有在这个页面里的所有smarty变量。如果没有弹出看下一步)。
2、在模版里输入{debug},就可以看到这个模版里的变量了。
如果要关闭掉调试控制台,设置变量 $debugging 为 false 就可以了。
不同的情况那个debug是不一样的,实际中特别注意要$tpl->caching = false;不能缓存时看全部DB输出的变量:
在模板中是这样:
在smarty编译后的模板里是这样的:
要想能真正报错其实践的结论是,三个都打开:
1.error_reporting(E_ALL);打开,否则有错容易报不出来:
2.$tpl->debugging = true;
3.在输出页面里加入调试变量:
二,非调试模式下查看变量和数组,也就是从弹出框中所有变量只看一部分,以方便调试。
1、Smarty下如何查看数组:
如果你在使用smarty时,想查看某变量的内容,而又不想打开smarty debug,或smarty debug的输出不能满足你的要求,可以这样用。
如果是查看数组,应当
我自己试了下是这样:
会输出到页面里,不是弹出框。
注意:这里用@是来保证把变量当做一个整体对待,否则会遍历这个array.
查看变量:
2、Smarty下如何调试数组,无论这个:$tpl-> debugging = TRUE; 或者:False都可以:
比如要调试数组$array
实践如下:
调试变量就
偶的实践:
请注意:数组都有一个@,呵呵。
详细说请看Smarty/plugins下的modifier.debug_print_var.php
本站内相关文章三篇:
http://www.jackxiang.com/post/2083/
http://www.jackxiang.com/post/1169/
http://www.jackxiang.com/post/1191/
直接查看编译结果看是否有smarty模板编译缓存(有时配置文件没配置好出现模板里没有变量,得查找老半天,直接查看编译好的模板能快速找到线索Add:2014-01-09):
一)生成Js的Url地址如下:
http://static.xiyou.cntv.cn/2013/js/wistracker.js?ver=2.037
二)配置前缀路径:
config.php
return array(
'statistics' => array(
'action_url' => 'http://static.xiyou.cntv.cn/2013/js/'
)
)
三)smarty输出到模板:
./application/controllers/front/frontbase.php: $this->view->user_action = KO::config('config.statistics.action_url');
四)模板编译情况:
[root@my smarty_compile]# vi ./%%D3^D36^D3641954%%index.html.php
<script src="<?php echo $this->_tpl_vars['user_action']; ?>
wistracker.js?ver=<?php echo $this->_tpl_vars['version']; ?>
" type="text/javascript">
1、设置配置文件中的 debuging的值为true。即开始调试(设置完这一步,一般情况下在浏览页面的时候就可以看到一个弹窗了,里面有在这个页面里的所有smarty变量。如果没有弹出看下一步)。
2、在模版里输入{debug},就可以看到这个模版里的变量了。
如果要关闭掉调试控制台,设置变量 $debugging 为 false 就可以了。
不同的情况那个debug是不一样的,实际中特别注意要$tpl->caching = false;不能缓存时看全部DB输出的变量:
在模板中是这样:
在smarty编译后的模板里是这样的:
要想能真正报错其实践的结论是,三个都打开:
1.error_reporting(E_ALL);打开,否则有错容易报不出来:
2.$tpl->debugging = true;
3.在输出页面里加入调试变量:
二,非调试模式下查看变量和数组,也就是从弹出框中所有变量只看一部分,以方便调试。
1、Smarty下如何查看数组:
如果你在使用smarty时,想查看某变量的内容,而又不想打开smarty debug,或smarty debug的输出不能满足你的要求,可以这样用。
如果是查看数组,应当
我自己试了下是这样:
会输出到页面里,不是弹出框。
注意:这里用@是来保证把变量当做一个整体对待,否则会遍历这个array.
查看变量:
2、Smarty下如何调试数组,无论这个:$tpl-> debugging = TRUE; 或者:False都可以:
比如要调试数组$array
实践如下:
调试变量就
偶的实践:
请注意:数组都有一个@,呵呵。
详细说请看Smarty/plugins下的modifier.debug_print_var.php
本站内相关文章三篇:
http://www.jackxiang.com/post/2083/
http://www.jackxiang.com/post/1169/
http://www.jackxiang.com/post/1191/
直接查看编译结果看是否有smarty模板编译缓存(有时配置文件没配置好出现模板里没有变量,得查找老半天,直接查看编译好的模板能快速找到线索Add:2014-01-09):
一)生成Js的Url地址如下:
http://static.xiyou.cntv.cn/2013/js/wistracker.js?ver=2.037
二)配置前缀路径:
config.php
return array(
'statistics' => array(
'action_url' => 'http://static.xiyou.cntv.cn/2013/js/'
)
)
三)smarty输出到模板:
./application/controllers/front/frontbase.php: $this->view->user_action = KO::config('config.statistics.action_url');
四)模板编译情况:
[root@my smarty_compile]# vi ./%%D3^D36^D3641954%%index.html.php
<script src="<?php echo $this->_tpl_vars['user_action']; ?>
wistracker.js?ver=<?php echo $this->_tpl_vars['version']; ?>
" type="text/javascript">
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/4609/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2014-1-9 14:24
评论列表