php关键字”var”的作用是什么?

What does PHP keyword 'var' do?

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

  • "var"关键字在PHP中的含义是什么?
  • php4和php5有什么区别吗?

  • 它用于在php4中声明类成员变量,不再需要。它将在php5中工作,但会在php中从版本5.0.0到版本5.1.2发出E_STRICT警告,直到它被弃用为止。自php 5.3以来,var一直没有被弃用,是"public"的同义词。

    示例用法:

    1
    2
    3
    4
    5
    6
    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中的类中声明变量:

    1
    2
    3
    class Foo {
        var $bar;
    }

    使用php 5属性和方法可见性(public,引入protectedprivate,因此不推荐使用var


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

    Note: The PHP 4 method of declaring a variable with the var keyword is still supported for compatibility reasons (as a synonym for the public keyword). In PHP 5 before 5.1.3, its usage would generate an E_STRICT warning.


    答:在php 5.3和>中,当在类内声明变量时,var关键字等同于public

    1
    2
    3
    class myClass {
      var $x;
    }

    与(php 5.3和>相同):

    1
    2
    3
    class myClass {
      public $x;
    }

    历史:它以前是在类中声明变量的标准,虽然后来被折旧了,但后来(php 5.3)它变成了未折旧的。


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

    1
    2
    3
    class Test {
        var $name;
    }

    使用

    1
    2
    3
    class Test {
       public $name;
    }


    现在在2018中,使用var作为变量声明与public同义,如

    1
    2
    3
    4
    5
    6
    7
    class Sample{
        var $usingVar;
        public $usingPublic;

        function .....

    }


    var像public一样使用。如果在类中像这样声明varableVAR $ A;if表示它的作用域对于类是公共的。简单来说,var ~ public

    1
    2
    var $a;
    public