PHP: Standartlar örneğinin önlenmesi sınıf kurucular

0 Cevap php

Standartlar üzerinde sadece bir soru.

Ben bunu otomatik olarak erişen bazı iç modülleri dayalı oturum verileri düzenlemenize yardımcı olur PHP oturum yönetimi için bir sarıcı sınıf yarattık. Sadece belirli bir zamanda tek bir oturum olacak, çünkü örneğini bir getInstance() yöntemini kullanarak, bir tek olarak tasarlanmıştır. I session_start() başarısız olduğunu (muhtemelen sınırlı da olsa) bir şans oturum nesne örneğinin önlemek mümkün duyuyorum olarak da, bu, benim için bir fayda olarak geldi. Bir örnek olarak:

    public static function getInstance(){
        if(!self::$_instance || !session_id()){
            if(session_start()){
                self::$_instance = new self(session_id());
            }else{
                return;
            }

        }
        return self::$_instance;
    }

Benim sorum; Bir ağ geçidi getInstance() yöntem kullanımı bir kaç nedenden dolayı burada doğal olarak çalışıyor olsa da, bu getInstance() veya sınıflara create() yöntemler genel statik uygulamak için ortak / iyi bir uygulamadır nesnenin dış koşullara bağımlı ise nesne oluşturma kontrol etmek?

Ben sadece birden çok örnek nesnelerin durumunda kendimi Singletons durumunda getInstance() sağlayan bir kongre yapışmasını bulmak, ve create().

TL;DR: I keep using getInstance() ve nesne örnekleme kontrol etmek için create() yöntemleri. Ben yanlış yapıyorum?


EDIT: Refining my question a bit; Aside from using getInstance() tekil için, create() yöntemlerden daha az amaca hizmet eden ve daha kötü kongre doğru eğilerek benim yapıcı sarma nedir? Ben gerçek kurucusundan İstisnalar atma, ya da bir create() yanlış dönen devam etmelidir

0 Cevap