j'ai regardé un peu le code et y a deux trois trucs qui me paraissent peu pertinentes :
Ensuite tu pourrais gagner énormément de volume de code avec plus de rigueur sur le nommage des champs et profiter pleinement de ta méthode get justement :
Par
après je ne sais pas pourquoi tu gonfles autant en mémoire, mais je me dis que tes auto références dans tous les sens (mon premier point) ne doit pas aider le garbage collector à vider la mémoire
Citation :function GetListeRapport($requete,$connection=NULL,$ordre='Id_Systeme')Tu passes en référence à une méthode de l'objet sa propre référence. Ca ne me semble vraiment pas pertinent et pas du tout correspondre à de la poo :
{
(...)
while($data = $res->fetch(PDO::FETCH_ASSOC))
{
$temp = new WSysteme();
$temp->RemplitObjet($temp,$data);
$this->ListeOBJ[$data['Id_Systeme']]=$temp;
}
}
//Remplit l'objet
private function RemplitObjet(WSysteme $objet,$data)
{
$objet->Id_Joueur = NULL;
$objet->Id_JoueurID = $data['Id_Joueur'];
(...)
$objet->Zone_Race = $data['Zone_Race'];
}
Citation :function GetListeRapport($requete,$connection=NULL,$ordre='Id_Systeme')(à noter tu as exactement le même problème dans __get avec CalculePopIdeal
{
(...)
while($data = $res->fetch(PDO::FETCH_ASSOC))
{
$temp = new WSysteme();
$temp->RemplitObjet($data);
$this->ListeOBJ[$data['Id_Systeme']]=$temp;
}
}
//Remplit l'objet
private function RemplitObjet($data)
{
$this->Id_Joueur = NULL;
$this->Id_JoueurID = $data['Id_Joueur'];
(...)
$this->Zone_Race = $data['Zone_Race'];
}
Ensuite tu pourrais gagner énormément de volume de code avec plus de rigueur sur le nommage des champs et profiter pleinement de ta méthode get justement :
private function RemplitObjet($data)
{
$this->Id_Joueur = NULL;
$this->Id_JoueurID = $data['Id_Joueur'];
//(... vingtaine de lignes identiques ...)
$this->Zone_Race = $data['Zone_Race'];
}
Par
private function RemplitObjet($data)
{
foreach($data => $field as $value)
$this->$field = $value;
// et pour le cas special :
$this->Nom_Systeme = stripslashes($data['Nom_Systeme']);
}
après je ne sais pas pourquoi tu gonfles autant en mémoire, mais je me dis que tes auto références dans tous les sens (mon premier point) ne doit pas aider le garbage collector à vider la mémoire