这可能是一个非常琐碎的问题,但我既没有通过网络搜索引擎,也没有在php.net上找到答案。如果你没有时间解释,请直接告诉我在哪里可以读到这篇文章。
它用于在PHP4中声明类成员变量,不再需要。它将在PHP5中工作,但将在PHP版本5.0.0到版本5.1.2(当它被弃用时)中引发E_STRICT警告。从PHP 5.3开始,var就不再弃用了,它是“public”的同义词。
E_STRICT
使用示例:
class foo { var $x = 'y'; // or you can use public like... public $x = 'y'; //this is also a class member variables. function bar() { } }
var关键字用于在PHP 4中,在类中声明变量:
var
class Foo { var $bar; }
在PHP 5中引入了属性和方法可见性 (public, protected和private),因此var已弃用。
public
protected
private
我引用http://www.php.net/manual/en/language.oop5.visibility.php
注意:出于兼容性考虑,仍然支持使用var关键字声明变量的PHP 4方法(作为public关键字的同义词)。在5.1.3之前的PHP 5中,使用它会生成E_STRICT警告。
在php 5.3和>中,当在类中声明变量时,var关键字等价于public。
>
class myClass { var $x; }
与(对于php 5.3和>)相同:
class myClass { public $x; }
历史:它以前是在类中声明变量的规范,虽然后来变成了贬值,但后来(PHP 5.3)它变成了非贬值。
所以基本上它是一种老风格,不要在新版本的PHP中使用它。如果你不喜欢var关键字,最好使用Public关键字。所以不用
class Test { var $name; }
使用
class Test { public $name; }
var像public一样使用。如果一个变量在类中像这样声明 var一美元; If表示类的作用域是公共的。 简单地说,var ~public
var $a; public
此时此刻,在2018中使用var进行变量声明等同于public
2018
class Sample{ var $usingVar; public $usingPublic; function ..... }
在PHP7.3仍然工作…
https://www.php.net/manual/en/language.oop5.visibility.php
如果使用var声明,该属性将被定义为public。