[php] PHP 키워드 ‘var’의 기능은 무엇입니까?

이것은 아마도 사소한 질문 일지 모르지만 웹 검색 엔진이나 php.net을 통해 답을 찾을 수 없었습니다. 설명 할 시간이 없다면 이것에 대해 읽을 수있는 곳으로 안내해주십시오.

  1. PHP에서 ‘var’키워드는 무엇을 의미합니까?
  2. PHP4와 PHP5 사이에 차이점이 있습니까?


답변

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() {
    }
}


답변

var키워드에 사용되는 PHP 4에서 클래스에 선언 변수 :

class Foo {
    var $bar;
}

PHP 5에서는 속성 및 메소드 가시성 ( public, protectedprivate)이 도입되었으므로 var더 이상 사용되지 않습니다.


답변

http://www.php.net/manual/en/language.oop5.visibility.php 에서 인용합니다 .

참고 : var 키워드로 변수를 선언하는 PHP 4 방법은 호환성 이유로 (공용 키워드의 동의어) 여전히 지원됩니다. 5.1.3 이전의 PHP 5에서는 사용법이 E_STRICT경고를 생성합니다 .


답변

: 답변 에서 PHP 5.3 및 >1, var키워드에 해당 public클래스 내에 변수를 선언 할 때.

class myClass {
  var $x;
}

( php 5.3 및 >) 와 동일합니다 .

class myClass {
  public $x;
}

역사 : 이전에는 클래스에서 변수를 선언하는 것이 표준 이었지만 나중에 감가 상각되었지만 나중에는 (PHP 5.3) 감가 상각되지 않았습니다.


답변

따라서 기본적으로 이전 스타일이며 최신 버전의 PHP에는 사용하지 마십시오. var 키워드를 좋아하지 않으면 공개 키워드를 대신 사용하는 것이 좋습니다. 그래서 대신에

class Test {
    var $name;
}

사용하다

class Test {
   public $name;
}


답변

PHP7.3에서 여전히 작동합니다 …

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

var를 사용하여 선언하면 속성이 public으로 정의됩니다.


답변

var는 public처럼 사용됩니다. var $ a 클래스에서 varable이 이와 같이 선언되면; if 클래스의 범위가 공개됨을 의미합니다. 간단히 말해서 var ~ public

var $a;
public