2009-07-30 98 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 ..... 

} 
相關問題