2014-01-20 7 views
3

클래스 상수로 멤버 이름이 지정된 개체 멤버에 PHP가 액세스 할 수 있습니까? 클래스 상수가있는 PHP 개체 액세스

이 예를 생각해

class X{ 
    const foo = "abc"; 
} 

class Y{ 
    public $abc; 
} 

$y = new Y(); 

$y->X::foo = 23; //This does not work 

파서는 마지막 줄을 허용하지 않습니다하지만 제가 원하는 것입니다. 클래스 상수 X::foo에 저장된 이름으로 필드에 액세스하려고합니다. 이를 달성하기위한 구문이 있습니까?

+0

가변 변수로 @MarkusMalkusch는 PhpStorm과 같은 주요 IDE에서 잘 지원되는 기간을 알고 있기 때문에 PHP의 일부분입니다. –

답변

5

희망이 도움 :

$name = X::foo;   // Via temp var 
$y->$name = 23;   // Access the member by the string's content 
var_dump($y->{X::foo}); // Dumps 23 

Working sample here.

3

당신이

$y->{X::foo} = 23; 

과 같은 코드를 작성해야 임시을 통해 직접하거나, 그것을 사용 variable variables