PHP异常Parse error- syntax error, unexpected T_VAR错误解决
理解PHP中的变量声明:无需使用var,类成员变量可以这样定义
对于PHP新手来说,有时会遇到关于变量声明的问题。最近,我也在学习JavaScript时习惯了使用var声明变量,但在PHP中,情况有所不同。
在PHP中,当你定义一个类的成员变量时,其实并不需要像JavaScript那样使用var关键字。直接使用美元符号($)加上变量名即可。如果你在类的外部使用var声明变量,那么会出现语法错误。比如我在测试一个类的时候,尝试使用var声明一个类的成员变量,结果出现了“Parse error: syntax error, unexpected T_VAR”这样的错误。
让我分享一下我遇到的这个问题和解决方法。我有一个Address类和一个Person类。在Person类中,我尝试使用var声明一个名为address的成员变量,然后试图给这个变量赋一个新的Address类的实例。这样做会导致语法错误。
Address类的代码如下:
```php
class Address {
var $road;
function setRoad($road){
$this->road = $road;
}
}
```
而Person类及其测试代码如下:
```php
require("addressc");
class Person {
var $name; //正确声明变量方式应为$name,而不是使用var $name声明。
var $address; //同样这里也是错误的声明方式。
//...其它代码...
}
```
在PHP中,不应该在类成员变量前使用var关键字。直接使用美元符号($)开始变量名即可。正确的声明方式应该是像 `$name` 和 `$address` 这样。如果在类外部使用var声明变量,也会出现类似的语法错误。这是因为PHP器在代码时,并没有预期到var关键字的出现。所以如果你在PHP代码中遇到类似的错误,可以尝试去掉var关键字,直接使用美元符号($)来声明变量。同时也要注意,如果你的PHP版本过低(比如服务器上的版本是4.0),可能不支持某些新的语法特性,这时可能需要升级你的PHP版本或者调整代码以适应旧版本的要求。希望这个解答能帮助你解决遇到的问题!