1 pièce(s) jointe(s)
Singleton ne fonctionne pas
Bonjour,
il semble que j'ai un souci de "Singleton".
J'essaie d'avoir un système de Singleton sur ma class "App", en utilisant une fonction getInstance().
Et j'ai placé un "uniqid()" dans le constructeur pour vérifier que le système de Singleton fonctionne (mais ça ne fonctionne pas).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// App\App.php
class App
{
private static $_instance;
public function __construct() // REMOVE ME
{
$this->unique_id = uniqid();
}
public static function getInstance()
{
if (self::$_instance == NULL)
{
self::$_instance = new App();
}
return self::$_instance;
}
} |
Pour voir j'ai mis un "var_dump()" dans mon header.php
Code:
1 2 3 4 5 6 7 8 9 10
|
// App\Views\inc\header.php
<?php
$app = App::getInstance();
var_dump($app);
?> |
Je vais sur l'accueil pour voir, et le "uniqid()" change tout le temps... (à chaque fois que je clic sur "accueil").
J'ai fais une recherche de "new App" dans le contenu de tous les fichiers de mon dossier racine (de ce site),
et je n'ai qu'un seul résultat : celui de la fonction getInstance() de la class App que je vous ai montré.
PS : J'ai mis en pièces jointes les fichiers et la Base de données si ça peut aider.
(c'est juste un site de test pour moi pour mieux comprendre l'Objet, MVC, Singleton etc)
Merci pour votre aide je galère comme pas possible.