2016-12-14 1 views
3

여기 내 코드입니다 :속성을 초기화하지 않는 이유는 무엇입니까?

class Log 
{ 
    private $mode = config('my.log.mode'); 
} 

하지만 구문 오류가 발생합니다 ..! 왜? 뭐가 문제 야?

이뿐만 아니라 작동 주목 :

class Log 
{ 
    private $mode; 

    public function __construct() 
    { 
     $this->mode = config('my.log.mode'); 
    } 
} 

, 요점은 무엇?!

답변

4

상수 값만 사용하여 속성을 초기화 할 수 있습니다. 따라서 여기 config() 또는 다른 도우미를 사용할 수 없습니다.

초기화는 상수 값이어야합니다 - 즉, 컴파일 시간에 평가 될 수 있어야 순서대로 런타임 정보에 의존해서는 안 평가하기를

http://php.net/manual/en/language.oop5.properties.php

+0

.. PHP 5.6의 스칼라 표현식 : http://docs.php.net/manual/en/migration56.new-features.php#migration56.new-features.const-scalar-exprs – simon

관련 문제