Page 1 sur 1

Problème d'include dans une classe

Posté : 24 sept. 2015, 19:26
par Gico
Bonjour, j'ai un soucis avec une boucle sur une classe qui me semble venir d'un problème de memoire Php ou peut être plus simplement d’incompétence de ma part...je m'explique:
il s'agit d'un classe nommée catalogue qui fabrique des pdf a partir de tcpdf, elle commence avec ça

public function __construct(){
include (__DIR__."/../class/tcpdf/tcpdf.php");
}

puis des fonctions..

dans une page j'ai une boucle sur des catalogues censée produire autant de pdf et faisant appel a la fonction qui nécessite l'include

un truc de ce type :

while ($catalogues->fetch()) {

$catpdf= new catalogue;
$catpdf->mycat_pdf_auteur = $this->name;
$catpdf->mycat_pdf_titre= $titre;
$catpdf->mycat_pdf_date= $date_creation;
$catpdf->mycat_pdf_description=$description;
$catpdf->mycat_pdf_format=$format;
$catpdf->mycat_pdf_comment=$comment;

$catpdf->produce_pdf_catalogue();

}

le problème c'est que la première instance produit bien le catalogue pdf, mais dés la seconde ça bloque et seulement sur le chargement de l'include , qui forcement est rechargé à chaque "new", comme la class tcpdf est assez lourde je suspect un problème de mémoire..je n'ai aucun message d'erreur..je cherche à comprend et à résoudre ce soucis.
merci

Re: Problème d'include dans une classe

Posté : 24 sept. 2015, 20:44
par or 1
tu le mets ailleurs, pour qu'il ne soit appelé qu'une fois, et que cela soit plus propre.

Re: Problème d'include dans une classe

Posté : 24 sept. 2015, 21:37
par FluffyQueeny
Solution immédiate : remplacer include par requiere_once.

Solution à long terme :
Inclure ce fichier en dehors de ta classe. Il n'a rien à faire là. Vraiment rien. Ta classe doit pouvoir fonctionner quelque soit le fichier inclut, elle n'a aucun rapport avec ce dernier.

Re: Problème d'include dans une classe

Posté : 24 sept. 2015, 22:07
par Gico
Merci pour vos réponses, j'ai appliqué, ça fonctionne...