netbeans otomatik tamamlama yerine yeni işletmeci nesneyi almak için tekiz kullanırken?

1 Cevap php

ben bir sınıf örneğini 'yeni' operatörünü kullandığınızda, netbeans nesnenin üyelerini otomatik tamamlama için hiçbir sorun vardır.

$instance = new Singleton();
$instance-> // shows test() method

i bir nesne almak için bir Singleton kullanmak ama ne zaman alınan nesne üyeleri otomatik tamamlama olamaz.

getInstance kod şöyle görünür:

public function test() {
    echo "hello";
}

public static function getInstance() {
if ( ! is_object(self::$_instance)) {
    self::$_instance = new self();
    self::$_instance->initialize();
}
return self::$_instance;
}

öylesine i kullanın:

$instance = Singleton::getInstance();
$instance-> // no autocompletion!

Herkes aynı sorun var mı?

nasıl ben etrafında çalışır?

teşekkürler!

1 Cevap

Bunu atamadan önce, hangi tür $instance dir göstermek için bir yorum eklemek olabilir:

/* @var $instance Singleton */
$instance = Singleton::getInstance();


And you'd get autocompletion :

(Tested with a recent nightly build of netbeans)



Başka bir çözüm Singleton sınıfının bir örneğini döndürür belirtmek için, sizin getInstance() yöntemi ilanına bir bilgilendirme kısmı eklemek olacaktır:

/**
 * @return Singleton
 */
public static function getInstance() {

}


And, then, you'll also get autocompletion :