Bonjour,

je regarde actuellement la video "La POO en PHP (11/30) : TP : La structure".
Et voici la partie de code que je comprend pas :

ob_start(); 
if($p === 'home'){
    require '../pages/home.php';
}else if ($p =='single'){
    require '../pages/single.php';
}

$content = ob_get_clean(); 
require '../pages/templates/default.php';

J'ai regarder pas mal d'exemple, et aussi sur http://php.net/manual/fr/function.ob-end-clean.php , et a ce que je comprend, ob_get_clean() a pour role d'arreter l'action de ob_start() mais sans rien retourner.
Pourriez-vous me dire ce que je loupe ? Car je comprend pas comme $content recupere le contenu de home.php ou single.php.

A ce que j'ai lu, c'est ob_get_contents() qui pourrai justement faire cette action.

Merci d'avance .. et desole si ma question vous semble bete .. mais j'aimerai bien comprendre =/

Cdlt

4 réponses


Kaimite
Réponse acceptée

ob_get_clean() renvoie le contenu du tampon et arrete la temporisation :

http://php.net/manual/fr/function.ob-get-clean.php

ob_get_contents() fait la même chose mais n'arrête pas la temporisation.

C'est selon tes besoins.

Kaimite

Kaimite
Réponse acceptée

je connais. Si je suis sur un bug depuis un certains temps c'est que c'est un truc très con.

J'ai déjà passé plusieurs minutes avant de me rendre compte que je regardais pas la bonne page, genre tu fais les modifs sur le local mais je regarde en prod !

Plus tu tournes en rond plus c'est un "bug" à la con :)

Mais sinon oui.

$content = ob_get_contents();
ob_end_clean();

Reviens à faire

$content = ob_get_clean();

Kaimite

Lardio
Auteur

Merci pour le retour mega repide !
Mais rigole pas de moi ..
J'etais sur les pages ob_end_clean() ... erreur d'innatention sur laquelle je me suis focalise et perdu une heure :(
Mais du coup, en theorie, un ob_get_contents() suivi d'un ob_end_clean() est egal a seulement un ob_get_clean() ?

Cdlt

Lardio
Auteur

Ah c'est rassurant de voir que je suis pas la seul alors (je debute la programmation) :)
Ok !
Merci beaucoup pour ton aide !

Cdlt