cuando utilizo el operador 'nuevo' para instanciar una clase, netbeans no tiene problema para autocompletar los miembros del objeto.netbeans autocompletion cuando se usa singleton para recuperar objetos en lugar de un nuevo operador?
$instance = new Singleton();
$instance-> // shows test() method
pero cuando se utiliza un producto único para recuperar un objeto que no puede autocompletar los miembros en el objeto recuperado.
el código getInstance es así:
public function test() {
echo "hello";
}
public static function getInstance() {
if (! is_object(self::$_instance)) {
self::$_instance = new self();
self::$_instance->initialize();
}
return self::$_instance;
}
así que uso:
$instance = Singleton::getInstance();
$instance-> // no autocompletion!
¿alguien tiene el mismo problema?
¿cómo puedo solucionarlo?
gracias!
Creo que el segundo método es mejor porque no tengo que agregar comentarios cada vez antes de llamarlo. ¡¡muchas gracias!! ¡¡¡salvaste mi año !! +2 (1 punto invisible) :) –
De nada :-) ;; Sí, la segunda solución si a menudo es mejor, en términos generales ;; pero el primero puede ser útil en dos casos: cuando no se puede modificar la clase * (una biblioteca, por ejemplo) *, y cuando el método que se llama puede devolver instancias de diferentes clases, dependiendo del parámetro * (es decir, un método de fábrica) , por ejemplo)* –