Lorsque j'utilise l'opérateur 'new' pour instancier une classe, netbeans n'a aucun problème à compléter automatiquement les membres de l'objet.autocomplétion netbeans lors de l'utilisation de singleton pour récupérer l'objet au lieu d'un nouvel opérateur?
$instance = new Singleton();
$instance-> // shows test() method
mais quand j'utilise un singleton pour récupérer un objet, il ne peut pas les membres de saisie semi-automatique de l'objet récupéré.
le code getInstance ressemble à ceci:
public function test() {
echo "hello";
}
public static function getInstance() {
if (! is_object(self::$_instance)) {
self::$_instance = new self();
self::$_instance->initialize();
}
return self::$_instance;
}
donc j'utiliser:
$instance = Singleton::getInstance();
$instance-> // no autocompletion!
ce que quelqu'un a le même problème?
Comment puis-je contourner ce problème?
merci!
Je pense que la deuxième méthode est meilleure parce que je ne dois pas ajouter de commentaire à chaque fois avant de l'appeler. Merci beaucoup!! tu as sauvé mon année !! +2 (1 point invisible) :) –
De rien :-) ;; Oui, la deuxième solution est souvent meilleure, d'une manière générale; mais la première peut être utile dans deux cas: lorsque vous ne pouvez pas modifier la classe * (une bibliothèque, par exemple) *, et quand la méthode que vous appelez peut revenir instances de classes différentes, en fonction du paramètre * (ie une méthode de fabrication , par exemple)* –