因为php不用定义变量,所以你写错了变量名,也不会告诉你。很多时候是微差别,一句句的看代码是看不出来的,还好很多软件有显示变量的东西,比如pspad的程序浏览器,notepad++的function list。看一下变量的列表,一般程序不长的话,一两眼就可以看出哪个变量实际上是打错的。
犯这种错误不是第一回了,专们写一下。
虽然都是脚本语言,还是python好。赋了初值的变量才能用。
----有趣的分割线
好吧我错了。如果想让被使用的变量必须初始化,在php.ini文件找到 error_reporting = 这句, 写error_reporting = E_ALL就可以了。
但是, smarty模版使用未赋初始值的变量还是不会报错的, 因为代码中使用error_reporting函数就可以根据情况决定报错的等级。
smarty能少打一些字。比如原生的php模版:
<?php if ($a): ?>checked<?php endif; ?>
smarty的:
{if $a}checked{/if}
对于前端来说,虽然上面和下面同样不好理解,但是下面字少些,而不至于影响心情。对于做后台的我来说,更喜欢原生的,像CI那样的模版方法。
如果想知道当前php使用了什么变量,找一行写下print_r(get_defined_vars());就可以了。get_defined_functions() 对应函数;
get_defined_constants() 对应常量。
PHP-Debug-Manual-public是一本有关php调试的电子书,作者是风雪之隅,大家有空可以去看下他的博客。