8
votes

ob_start () dans une boucle

J'ai un problème lors de la boucle en boucle à l'aide de la boucle foreach () et à l'intérieur de cette boucle avec ob_start () et ob_get_clean ().

Voici ma fonction: p>

protected function renderEmail() {
$template = $this->_case.".php";
if(is_file($this->_dir.DS.$template)) {
    ob_start();
    if(!empty($this->_records)) {               
        foreach($this->_records as $key => $value) {
            ${$key} = $value;
        }
    }
    require_once($this->_dir.DS.$template);
    return ob_get_clean();
} else {
    $this->_errors[] = "Email template not found";
    return false;
} }


0 commentaires

3 Réponses :


20
votes

OK - Vous ne croirez pas - une fois que j'ai posté cette question - tout droit après avoir réalisé où le problème était - j'utilise requis_once1 () - qui empêche le même fichier d'être inclus - une fois Changé pour inclure () tout fonctionne bien!


2 commentaires

Même ici, pfft. Donc, merci de ne pas supprimer la question :)


Le même ... lol :)))



0
votes

Pourquoi la boucle?

extrait ($ ceci -> _ enregistrements); code> p>

a l'air un peu plus court que P>

foreach($this->_records as $key => $value) {
    ${$key} = $value;
}


0 commentaires

2
votes

Chaque fois que vous allez utiliser un même fichier plusieurs fois à plusieurs reprises dans une boucle, vous ne devez jamais utiliser l'utilisateur requir_once () ou include_once, à la place de l'utilisation, «Inclure», et tout ira bien!


0 commentaires