次の例 (PHP 5.4) を試すと、次のエラーが発生します。
解析エラー: 構文エラー、予期しない '::' (T_PAAMAYIM_NEKUDOTAYIM)、',' または ';' が必要です
class a {
public $p;
public function __construct() {
$this->p = new b;
}
public function giveout() {
echo $this->p::c;
}
}
class b {
const c = '234';
}
$obj = new a;
$obj->giveout();
しかし、なぜ?1 つの式で二重コロンと矢印を使用することはできませんか? クラス b で getter メソッドを使用してから を呼び出すこともできます$this->p->get()
が、上記の構文を使用したいと思います。