2010-02-16 44 views
6

可能重复:
Strict mode in PHP?有什么在PHP类似于显式的选项在VB

我做在PHP中的一个大项目。在PHP中,你不需要声明变量。这对我造成了很多问题。

在Visual Basic 6中,Option Explicit语句使其声明变量是强制性的。在PHP中有类似的东西吗?

+0

如果在运行时没有运行,那么undefined函数里面有什么呢? – Yosef 2011-04-22 10:18:10

回答

6

如果你打开E_NOTICE错误信息,PHP会告诉你未初始化变量

ini_set("error_reporting", E_ALL); 

未初始化比未申报的一点点不同,但它应该给你一个类似的效果。

+3

+1还值得注意的是,'E_ALL'确实*不*包含'E_STRICT'。所以我会做'ini_set(“error_reporting”,E_ALL&E_STRICT);'。另外值得注意的是;你可以在'php.ini'或者你的Apache虚拟主机定义中使用'php_value'来设置'error_reporting'。 – Asaph 2010-02-16 15:59:53

4
error_reporting(E_ALL); 

抛出一个通知,当您尝试使用一个未定义的变量

更一般的提示:(最多20线)用的功能,而不是全球性的代码,使他们小。由于变量对函数来说是局部的,因此忘记或拼写变量名称的机会就会减少。

1

增加error reporting level只影响php的行为,当一个未定义的变量/元素用作右值时,如echo $doesnotexist;
option explicit on也禁止使用未声明的变量作为左值

Option Explicit On 
Dim x As Integer 
x = 10 
y = 11 ' error, variable is not declared 

有PHP中没有类似的选项或配置参数。

+0

那里_could_有一个在php5中声明的关键字,特别是。为班级/成员,但没有。 – VolkerK 2010-02-16 18:02:52

相关问题