2011-04-07 2 views
0

두 클래스가 있는데, 그 중 하나는 구성 클래스입니다. 이 클래스의 내부에는 "theme"이라는 변수가 있습니다. 이것을 config :: theme이라고합니다. 나는 또 다른 수업을 가지고 있지만 주제에 따라 그 이름에 대해 확신 할 수 없다. 예를 들어, PHP 사이트 테마가 "성운"으로 설정된 경우 성운 테마 (예 : nebula :: navigation)에 액세스해야합니다. 내가 들어 왔 가장 먼은 다음과 같습니다 오류 출력나는 PHP 클래스 의미론 수수께끼를 실행했습니다

public static function nav() { 
    $temp = config::theme; 

    return eval($temp . "::navigation"); 
} 

:

Parse error: syntax error, unexpected $end in C:\Dropbox\Colzdragon\Colzdragon\Site\internal\theme.php(54) : eval()'d code on line 1

이 할 수있는 방법이 있습니까? 감사!

+0

나는이 항상 HTTP를하는 데 도움이 찾을 수 있습니다. classnamer.com/ – Joe

답변

3

가. this manual page의 첫 번째 예를 참조하십시오

public static function nav() { 
    $theme = config::$theme; 
    return $theme::$navigation; 
} 
+0

감사합니다. 이제 완벽하게 작동합니다. –

+0

'return config :: $ theme :: $ navigation;'역시 작동할까요? – egis

+0

@egis : 아니요, 불행히도 아닙니다. –

0

당신의 코드는 괜찮습니다. (내가 말할 수있는 한) PHP는 }, ; 또는 따옴표를 놓쳤다 고 알려줍니다.

는 문자 그대로는 말한다 : "나는 파일이 끝날 때까지 읽었지만 미완성 구문 사업이"당신은 PHP 5.3을 사용하여이 작업을 수행 할 수 있습니다

0

@Sander's answer 작품은 PHP 5.3에 액세스 할 수있는 경우. 당신이 (싼 호스트의 많은 아직 5.3을하지 않는 것 때문에) 이전 버전을 사용 붙어있는 경우, 당신은이에 대한 constant()을 사용할 수 있습니다 : // WWW :

constant(get_class($temp)."::navigation");