12/02/21 06:54:25.99 6SIN0kwR
WikipediaのSingletonのJavaで書かれた項目をPHPに移植したいのですが、
URLリンク(ja.wikipedia.org)
1つ目の例の書き方だと問題ないのですが、
2つ目の例の書き方の2行目をPHPで書くのは無理でしょうか?
同期化コストってのはようするにif文を毎回呼ぶのがよくないってことだと思うのですが、
2つ目の例の2行目の書き方がPHPでだめだとして、改善方法はありますか?
final class Singleton {
    private static final $instance = new Singleton();
    private function __construct() {}
    public static function getInstance() {
        return Singleton::$instance;
    }
}
$s = Singleton::getInstance();
$s2 = Singleton::getInstance();
var_dump($s);
var_dump($s2);
Fatal error: Cannot declare property Singleton::$instance final~
そこで$instanceのfinalを取ると
Parse error: syntax error, unexpected T_NEW in~
となります。
外からアクセスできるので質が違いますが、
private static finalに近そうなconstも試して見ましたが同様のエラーが出ます。