2009-07-30 96 views
370

这可能是一个非常微不足道的问题,但我无法通过网络搜索引擎或php.net找到答案。如果你没有时间解释,请直接告诉我可以阅读的内容。PHP关键字'var'做什么?

  1. 'var'关键字在PHP中的含义是什么?
  2. PHP4和PHP5有什么不同吗?
+1

我想,当你问这个问题7月30日,2009年,这一尚未发布在http://php.net/manual/en/language.oop5.visibility.php ?:注意:由于兼容性原因,仍然支持使用var关键字声明变量的PHP 4方法(如public关键字的同义词)在5.1.3之前的PHP 5中,它的用法会生成一个E_STRICT警告。“或者,也许你没有找到它。但是答案在php.net中有明确说明。 – 2017-06-16 20:21:25

回答

330

它用于在PHP4中声明类成员变量,不再需要它。它将在PHP5中工作,但会在PHP中从5.0.0版直到5.1.2版发起E_STRICT警告,直到它被弃用为止。自PHP 5.3以来,var一直没有被弃用,并且是'public'的同义词。

实例:

class foo { 
    var $x = 'y'; // or you can use public like... 
    public $x = 'y'; //this is also a class member variables. 
    function bar() { 
    } 
} 
+8

_“注意:由于兼容性原因(作为`public`关键字的同义词),使用var`关键字声明变量的PHP 4方法仍然受支持。在5.1.3之前的PHP 5中,它的使用会生成一个`E_STRICT`警告。“_ http://php.net/manual/en/language.oop5.visibility.php编辑:我刚才看到,已被引用[在另一个答案](http://stackoverflow.com /一个/517705分之3844703)。但你应该相应地编辑你的。 – Sk8erPeter 2013-01-12 10:38:34

+0

这意味着它是*必须*使用`public`关键字与一个成员变量。真的吗?不能简单地放`$ x;`? – BrassApparatus 2015-02-03 20:55:13

+0

因此,建议只使用public/private并完全忽略var,因为我们并不担心使用已弃用的PHP版本。 – 2015-07-05 17:46:13

1

答案:PHP 5.3和>,声明一个类中的变量时,var关键字相当于public

class myClass { 
    var $x; 
} 

是一样的(对于PHP 5.3和>):

class myClass { 
    public $x; 
} 

历史:这是以前在班级声明变量的常态,虽然后来成为贬值,但后来(PHP 5.3)它变得没有折旧。

0

所以基本上这是一种旧式的风格,不要将它用于更新版本的PHP。更好地使用公共关键字,而不是使用var关键字。因此,而不是使用

class Test { 
    var $name; 
} 

使用

class Test { 
    public $name; 
} 
1

VAR用于像公众。如果一个varable声明像这样一类 变量$一个; 如果意味着它的范围是公开的类。 在simplea话VAR〜公共

var $a; 
public 
0

这里,现在在2018使用var变量声明为代名词public

class Sample{ 
    var $usingVar; 
    public $usingPublic; 

    function ..... 

} 
相关问题