17-04-2010, 09:44 PM
mais oui je suis bête, on appelle la méthode get pas l'attribut...
Un cherchant à propos de singleton j'ai bien compris son utilité.
Par exemple dans le cas d'une application client serveur, où le client contient le code sur un poste et la bdd est sur un serveur distant, on va avoir un client qui se créé son instanciation de la connexion qu'une seule fois, donc jusque là le singleton nous permet d'avoir une seule et unique instanciation de connexion par client.
Mais dans le cas d'une application web, notre code php est sur le serveur, en utilisant le singleton je force tous mes utilisateurs à utiliser la même instanciation de la connexion, ce qui nous fait qu'un seul pont vers la bdd et donc un gain de performances, j'ai bien compris?
Mais n'y a t'il pas un risque d'embouteillage sur ce pont si on a beaucoup d'utilisateur?
Je me pose une autre question. Quand j'instancie un objet provenant de ma bdd, par exemple je crée une instance de ma classe user en utilisant les données d'un row de ma table user dans ma bdd. Je fais mon select dans ma bdd, je récupère mes données, je fais des modifs, je les envois à ma bdd avec mon update. Quand j'arrête d'utiliser on objet, est il mieux que je le détruise? Car je me dis qu'à force si je les laisse, tous les objets que je vais créer au fil du temps vont faire saturer mon serveur. Comme j'ai ma bdd je n'ai pas besoin de les garder, peut être un temps pour accélérer l'accès aux données... Des idées pour gérer?
Pour le moment je vois :
- Utilisation systématique du destructeur après utilisation de l'objet
- Script planifié de destruction des objets contenu sur le serveur (une sorte de dépoussiérage régulier)
Un cherchant à propos de singleton j'ai bien compris son utilité.
Par exemple dans le cas d'une application client serveur, où le client contient le code sur un poste et la bdd est sur un serveur distant, on va avoir un client qui se créé son instanciation de la connexion qu'une seule fois, donc jusque là le singleton nous permet d'avoir une seule et unique instanciation de connexion par client.
Mais dans le cas d'une application web, notre code php est sur le serveur, en utilisant le singleton je force tous mes utilisateurs à utiliser la même instanciation de la connexion, ce qui nous fait qu'un seul pont vers la bdd et donc un gain de performances, j'ai bien compris?
Mais n'y a t'il pas un risque d'embouteillage sur ce pont si on a beaucoup d'utilisateur?
Je me pose une autre question. Quand j'instancie un objet provenant de ma bdd, par exemple je crée une instance de ma classe user en utilisant les données d'un row de ma table user dans ma bdd. Je fais mon select dans ma bdd, je récupère mes données, je fais des modifs, je les envois à ma bdd avec mon update. Quand j'arrête d'utiliser on objet, est il mieux que je le détruise? Car je me dis qu'à force si je les laisse, tous les objets que je vais créer au fil du temps vont faire saturer mon serveur. Comme j'ai ma bdd je n'ai pas besoin de les garder, peut être un temps pour accélérer l'accès aux données... Des idées pour gérer?
Pour le moment je vois :
- Utilisation systématique du destructeur après utilisation de l'objet
- Script planifié de destruction des objets contenu sur le serveur (une sorte de dépoussiérage régulier)