JeuWeb - Crée ton jeu par navigateur
POO et DB - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : POO et DB (/showthread.php?tid=4598)

Pages : 1 2 3 4 5 6 7


RE: POO et DB - Anthor - 19-02-2010

Pas dans le cas présent, Singleton_PDO te retourne bien toujours la même instance de PDO.


RE: POO et DB - christouphe - 19-02-2010

j'ai édité LOL


RE: POO et DB - Anthor - 19-02-2010

Dans un singleton classique, on aurait fait à peu près la même chose.

Code PHP :
<?php 
if( is_null(self::$_instance) )
self::$_instance = new __CLASS__;



RE: POO et DB - christouphe - 19-02-2010

je vais tester ce soir pour voir, car ça me "libèrerai" un peu l'esprit. Sachant que mes managers sont singleton ça me cassait un peu les c... pour ne pas les citer.


RE: POO et DB - Tho - 19-02-2010

Ouais, enfin, appeler une fonction, c'est beaucoup moins optimisé qu'une égalité stricte Tongue

Okay, le chieur sort Big Grin


RE: POO et DB - Anthor - 19-02-2010

Tu peux appeler aussi bien une classe externe qu'une classe interne dans le singleton, et c'est plus pratique en externe, si tu y ajoutes le pattern Adapter.

Tu peux aussi faire un pseudo Singleton avec un constructeur publique, mais je le dis très bas, car ça ne serait plus du tout un singleton ^^


RE: POO et DB - christouphe - 19-02-2010

oui, mais dans ce cas, la fonction dis ce qu'elle fait Wink
qu'appelles tu "pattern Adapter", ce n'est pas la première fois que je croise ça mais impossible d'y faire correspondre quoi que ce soit.


RE: POO et DB - Anthor - 19-02-2010

Citation :Micro optimization isn't worth it.

You had to do it ten million times to notice a difference, a little more than 2 seconds

$a===NULL; Took: 1.2424390316s
is_null($a); Took: 3.70693397522s

difference = 2.46449494362
difference/10,000,000 = 0.000000246449494362

The execution time difference between ===NULL and is_null is less than 250 nanoseconds. Go optimize something that matters.

http://fr.php.net/manual/fr/function.is-null.php#84161


RE: POO et DB - christouphe - 19-02-2010

LOL, pour Adapter j'ai trouvé. J'appelle ça des Wrapper Wink


RE: POO et DB - wildd - 19-02-2010

(19-02-2010, 05:57 PM)Anthor a écrit : Tu peux aussi faire un pseudo Singleton avec un constructeur publique, mais je le dis très bas, car ça ne serait plus du tout un singleton ^^

ben c'est ce que je fais quand l'héritage me force à une méthode public (et dans le constructeur tu envoie une exception si t'as déjà une instance
- c'est plus du singleton ?! mouai c'est vrai qu'on pourrait créer la première instance avec un appel new externe mais il me semble que le pattern singleton vise avant tout l'instanciation unique; non à définir une seule méthode d'instanciation pour le singleton).
ça à l'avantage de permettre de faire un héritage sur PDO, sans ce farcir le "wrapping" de toute ses méthodes.