0

私は PHP を使用しており、名前を変更する必要があるオブジェクトの静的メソッドにアクセスする必要があります。

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

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

この前のコードにより、「予期しない構文エラー ::」が表示されます。
{$nomControlleur}::singleton(); も書いてみました。しかし、それは私にさらに多くのエラーを与えています。あなたの助けに感謝します.

鋼球

4

3 に答える 3

2

使用する:

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

または (5.2.3 以降のみ)

$this->controlleur = call_user_func($nomControlleur . '::singleton');
于 2009-09-19T20:03:14.073 に答える
0

どうですか

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

?

于 2009-09-19T20:01:15.997 に答える
0

__callStatic()PHP 5.3 には、PHP もあったと思います__call()

したがって、定義でき__callStatic()、未定義の静的メソッド呼び出しはこのメソッドにヒットします。

詳細やご利用方法はこちらをご確認ください。

http://www.php.net/manual/en/language.oop5.overloading.php#object.callstatic

于 2013-12-19T23:35:11.453 に答える