435

这可能是一个非常微不足道的问题,但我无法通过网络搜索引擎或 php.net 找到答案。如果您没有时间解释,请直接引导我到我可以阅读此内容的地方。

  1. PHP中的'var'关键字是什么意思?
  2. PHP4 和 PHP5 之间有什么区别吗?
4

8 回答 8

394

它用于在 PHP4 中声明类成员变量,不再需要。它可以在 PHP5 中工作,但会E_STRICT在 PHP 5.0.0 到 5.1.2 版本中引发警告,直到它被弃用。自 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() {
    }
}
于 2009-07-30T11:54:37.503 回答
79

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

class Foo {
    var $bar;
}

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

于 2009-07-30T11:55:55.643 回答
27

我引用http://www.php.net/manual/en/language.oop5.visibility.php

注意:出于兼容性原因(作为 public 关键字的同义词),仍然支持使用 var 关键字声明变量的 PHP 4 方法。在 5.1.3 之前的 PHP 5 中,它的使用会产生一个E_STRICT警告。

于 2010-10-02T06:52:45.560 回答
8

答:php 5.3 和开始>var关键字相当于public在类中声明变量时。

class myClass {
  var $x;
}

与(对于php 5.3 和>)相同:

class myClass {
  public $x;
}

历史:以前是在类中声明变量的规范,虽然后来被贬值了,但后来(PHP 5.3)它变得不贬值了。

于 2016-05-24T05:48:01.553 回答
7

所以基本上它是一种旧样式,不要将它用于较新版本的 PHP。最好使用 Public 关键字;如果您不喜欢 var 关键字。所以而不是使用

class Test {
    var $name;
}

采用

class Test {
   public $name;
}
于 2016-12-29T08:07:09.647 回答
2

var 像 public 一样使用。如果在类 var $a 中这样声明一个变量;if 表示它的范围对于该类是公共的。用简单的话 var ~public

var $a;
public
于 2017-07-26T13:34:51.717 回答
2

在 PHP7.3 中仍然有效...

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

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

于 2019-10-17T06:51:46.030 回答
1

here and now in 2018using varfor 变量声明与publicas in同义

class Sample{
    var $usingVar;
    public $usingPublic;

    function .....

}
于 2018-01-18T17:46:47.093 回答