Не работает доступ к свойству константы класса через свойство

Пример:

class LOL{
  const
    FOO = 1;
}

$x = new LOL;
$arr = array('x' => $x);

echo $x::FOO; // works
echo $arr['x']::FOO; // works too

Но если я сделаю свой экземпляр класса свойством, я больше не смогу получить доступ к константе:

class WWW{
  protected $lol;

  public function __construct($lol){
    $this->lol= $lol;    
  }

  public function doSMth(){
    echo $this->lol::FOO; // fail. parse error.. wtf
  }
}

$w = new WWW;
$w->doSMth();

:(

Я знаю, что могу просто сделать echo LOL::FOO, но что, если имя класса неизвестно? С этой позиции у меня есть доступ только к этому объекту/свойству, и я действительно не хочу, чтобы этот класс WWW «знал» о других классах и их именах. Он должен просто работать с данным объектом

6
задан Alex 14 July 2012 в 16:08
поделиться