2010-12-02 4 views
0

선언과 공용 클래스 변수 설정의 차이점은 무엇입니까? 다른 하나를 선택하는 이유가 있습니까?PHP에서 공용 클래스 변수를 정의하는 가장 좋은 방법

방법 첫 번째 경우에서 1

class example { 

    public $myArray; 

    function __construct() { 
    $this->myArray = array(1, 2, 3); 
    } 

    function showVar() { 
    print_r($this->myArray); 
    } 

} 

방법 2

class example { 

    public $myArray = array(1, 2, 3); 

    function showVar() { 
    print_r($this->myArray); 
    } 

} 

답변

2

코드는 새로운 클래스 인스턴스를 만들 때마다 평가됩니다.

두 번째 경우 - 클래스가 구문 분석 될 때 한 번만 평가됩니다.

그게 전부입니다.

+0

그래서 변수를 먼저 계산해야한다면 생성자를 사용하여 공용 클래스 변수를 설정하기를 원할 것입니다. 그리고 배열이 절대로 바뀌지 않을 나의 예제의 경우 방법 2가 올바른 것일까 요? – Chris

+0

@Chris : 때때로 정적으로 계산 된 멤버를 얻는 것이 불가능합니다. 예를 들어 현재 시간을 입력해야하는 경우입니다. 이 경우 생성자에서 데이터를 초기화해야합니다. – zerkms

관련 문제