在写PHP程序的时候使用strict
时间:2006-04-17 来源:tiw
在Perl里有一个很好用的progma strict.
因为Perl这类的动态语言,在使用一个变量的时候是不用提前声明的,这种特性对于快速的书写短小的程序是很便利的,试想一下,一段只有10行左右的程
序,却要有3、4行的变量声明是多痛苦的事。但是对于稍大的程序,这个特性却会带了麻烦。比如在程序的某处我定义了一个$table变量,在只有我要使用
这个变量,但是在使用的时候我把这个变量的名字大错了,比如$talbe。这个时候,解释器不会发出任何警告,它所做的就是创建一个新的变量。这类的
bug很小,但是有时却要花费大量的时间去排除。因此在书写稍大的程序的时候打开strict是一个良好的习惯,它可以为你做类似的检测。
在写PHP的程序的时候也有类似的问题。这个问题可以用:
error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
这个和strict有些差别,例如在Perl里面使用strict以后,如果有没有定义的变量被使用了
程序是不会被运行的,在PHP里使用这个程序还会运行,但是会有notice出现,一般的使用已
经够了。
因为Perl这类的动态语言,在使用一个变量的时候是不用提前声明的,这种特性对于快速的书写短小的程序是很便利的,试想一下,一段只有10行左右的程
序,却要有3、4行的变量声明是多痛苦的事。但是对于稍大的程序,这个特性却会带了麻烦。比如在程序的某处我定义了一个$table变量,在只有我要使用
这个变量,但是在使用的时候我把这个变量的名字大错了,比如$talbe。这个时候,解释器不会发出任何警告,它所做的就是创建一个新的变量。这类的
bug很小,但是有时却要花费大量的时间去排除。因此在书写稍大的程序的时候打开strict是一个良好的习惯,它可以为你做类似的检测。
在写PHP的程序的时候也有类似的问题。这个问题可以用:
error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
这个和strict有些差别,例如在Perl里面使用strict以后,如果有没有定义的变量被使用了
程序是不会被运行的,在PHP里使用这个程序还会运行,但是会有notice出现,一般的使用已
经够了。
相关阅读 更多 +
排行榜 更多 +