2009-09-19 136 views
0

我在PHP中,我必须访问一个名称必须更改的对象的Static方法。PHP自定义静态方法访问

private $controlleur = null; 
    private static $instance = null; 

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

这段代码给了我“Syntax error unexpected ::”。我也试过写{$ 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

非常感谢,但我已经找到了您的意见。只需拉单()中的(),因为当你调用它时,它会给出singleton()(); – malavv 2009-09-19 20:08:59