这可能是一个非常琐碎的问题,但我既没有通过网络搜索引擎,也没有在php.net上找到答案。如果你没有时间解释,请直接告诉我在哪里可以读到这篇文章。

“var”关键字在PHP中是什么意思? PHP4和PHP5有什么不同吗?


它用于在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() {
    }
}

var关键字用于在PHP 4中声明类中的变量:

class Foo {
    var $bar;
}

在PHP 5中,引入了属性和方法可见性(public, protected和private),因此不推荐使用var。


我引用自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;
}

Use

class Test {
   public $name;
}

如果一个变量在类中像这样声明,Var就像public一样使用 var一美元; If表示类的作用域是公共的。 简单地说,var = public

var $a;
public

在2018年的此时此刻,使用var进行变量声明等同于public

class Sample{
    var $usingVar;
    public $usingPublic;

    function .....

}

在PHP7.3仍然工作…

https://www.php.net/manual/en/language.oop5.visibility.php

如果使用var声明,该属性将被定义为public。