2009-09-19 4 views
0

저는 PHP로되어 있으며 이름을 변경해야하는 객체의 정적 메서드에 액세스해야합니다.PHP 사용자 정의 정적 메서드 액세스

이 앞의 코드는 나를주고있다
private $controlleur = null; 
    private static $instance = null; 

    private function __construct() { 
    $nomControlleur = "Controlleurs\_" . Session::singleton()->controlleur; 
    $this->controlleur = $nomControlleur::singleton(); 
    } 

"예기치 않은 구문 오류 : '.
나는 또한 {$ nomControlleur} :: singleton();을 쓰려고 노력했다. 하지만 더 많은 오류가 발생합니다. 도움을 주셔서 감사합니다.

공 강철의

답변

2

사용 :

$this->controlleur = call_user_func(array($nomControlleur, 'singleton')); 

또는 (만 5.2.3+)

$this->controlleur = call_user_func($nomControlleur . '::singleton'); 
0

무엇

$staticCall = $nonController."::singleton()"; 
$staticCall(); 

어떻습니까?

+0

감사합니다, 거의,하지만 나는 당신의 의견을 함께 찾을 수 있습니다. 싱글 톤()을 호출 할 때 싱글 톤() beacause에서()를 가져옵니다. 싱글 톤()()을줍니다. – malavv

관련 문제