Mammouth du PHP |
19672 Messages
05 août 2011, 17:50
Comme personne ne semble réagir, je le fais : cette manière de faire me semble dénoter un problème de conception de ta classe
preparation.
Créer une collection d'objets du même type risque fort de plomber l'utilisation de la mémoire. La solution que je verrais pour alléger un peu et simplifier consisterait à ajouter dans la classe une méthode du genre init() avec les paramètres du constructeur et de virer ces mêmes paramètres du constructeur.
Pourquoi cette idée ? Je présume qu'une fois tes objets stockés dans ton tableau, tu vas ensuite leur faire exécuter une série de traitements dans un boucle pour tous les passer en revue. Tu pourrais faire le tout en une seule boucle avec une seule instance de ta classe. Schématiquement, ça ressemblerait donc à ceci :
<?php
//..
if ($bdd->getNbLignes($resTbPrepa) > 0)
{
$i = 0;
$oPreparation = new preparation();
while (false !== ($rowTbPrepa = mysql_fetch_assoc($resTbPrepa)))
{
$oPreparation->init(
$rowTbPrepa['client_liv'],
$rowTbPrepa['model_v_liv'], etc...
);
//.... Suite des traitements prévus sur l'instance ...
//...
} // fin des traitements sur la ligne, on boucle pour ré-initialiser l'instance avec la ligne de données suivante...
}
my 2¢

Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 