2013-02-13 4 views
0

CakePHP 프로젝트에서 작업하고 한 곳에서 갇혀 있습니다. 전역 변수의 값을 클래스 memeber에 할당

구성/bootstrap.php 파일

Configure::write('email_info', [email protected]); 

구성/email.php로 {내 사용자 정의 이메일 클래스} 나는 단지 클래스 외부에 어떤 변수의 값을 할당 할 수 있습니다 알고

class EmailConfig { 
public $default = array(  
    'from' => Configure::read('email_info'), 
    'reply' => Configure::read('email_info')  
);} 

'global'키워드를 사용하여 배열 구성원의 값에 config 변수를 어떻게 할당합니까?

+1

뭔가 작동하지 않거나 정확히 무엇이 문제입니까? – str

+0

__construct 메서드()에서이 작업을 수행해야합니다. 속성을 초기화 할 때 PHP는 상수 값만 사용합니다. – MarcDefiant

+0

예, 문제는 상수 값이 없습니다. 구성에 값이 있으며 클래스 멤버에게 할당하려고합니다. 구문 오류가 발생합니다. "구문 오류 : 예상치 못한 문자열 : =>, ',', ';')" – Nehal

답변

2

__construct 메서드 내에서 속성을 초기화하기 만하면됩니다. PHP는 속성을 초기화 할 때 리터럴 만 사용합니다.

class EmailConfig { 
public $default = array(  
    'from' => Configure::read('email_info'), 
    'reply' => Configure::read('email_info')  
);} 


class EmailConfig { 
    public function __construct() { 
    $this->default['from'] = Configure::read('email_info'); 
    $this->default['reply'] = Configure::read('email_info'); 
    } 
} 

는 더 많은 정보를 위해이 질문을 참조하십시오 Initializing PHP class property declarations with simple expressions yields syntax error

0

난 잘 모르겠어요를하지만 당신이 시도 할 수 있습니다.

class EmailConfig { 
    public $default = array(  
    'from' => ${Configure::read('email_info')}, 
    'reply' => ${Configure::read('email_info')}  
);} 
관련 문제