Statik sınıf özellikleri veya statik yöntem değişkenler: Bir PHP singleton uygulamak?

0 Cevap php

Yani, ben her zaman çok gibi singleton'ununu uyguladık:

class Singleton {
    private static $_instance = null;
    public static function getInstance() {
        if (self::$_instance === null) self::$_instance = new Singleton();
        return self::$_instance;
    }
    private function __construct() { }
}

Ancak, son zamanlarda ben de üye-bilge statik değişkenler ile uygulamak ki bana vurdu:

class Singleton {
    public static function getInstance() {
        //oops - can't assign expression here!
        static $instance = null; // = new Singleton();
        if ($instance === null) $instance = new Singleton();
        return $instance;
    }
    private function __construct() { }
}

Benim için bu sınıfı , and I don't have to do any explicit existence check dağınıklığı yok, çünkü bu temiz, ama başka bir yerde bu uygulama hiç görmedim, çünkü ben merak ediyorum:

Is there anything wrong with using the second implementation over the first?

0 Cevap