Was ist besser ? In Variable speichern oder ob_start() ?

  • Hi,

    mal ne Frage: Da ich alles in einem einzigen echo ausgeben will speicher ich derzeit alles der späteren Ausgabe in eine Variable - jetzt ist die Überlegung ob es nicht gescheiter wäre einen ob_start() einzuleiten, alles mit echo rauszuschmeißen, dann mit ob_get_contents() in eine Variable und mit ob_end_flush() den Puffer leeren und die Variable dann mit echo ausgeben.

    Was ist schlauer, bzw, was is die noch bessere Möglichkeit ?

    Lg

    PHP
    if(isset($this) || !isset($this)){ // that's the question...
  • Weil ich mal gelesen hab dass zu viele echos die Performance beeinträchtigen und dass es am klügsten ist, wenn man etwas mit echo ausgibt, das vorher zu Puffer mit ob_* und dann auf einmal auszugeben.

    PHP
    if(isset($this) || !isset($this)){ // that's the question...
  • Kommt drauf an was du machen willst. Wenn es nur zum browser soll einfach echo ohne vraiable oder output_buffer. Wenn du allerdings, z.B. in einer Schleife infos sammeln willst und es danach drauf ankommt, ob welche verfügbar sind oder nicht, dann dient dir die Variable beeser. Und wenn du einfach alles festhalten willst un das fertie z.B. noch 100% utf-8 konform machen willst, ist das output buffering dein Freund.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Was hat UTF-8 mit Output-Buffering zu tun? Ich würde mal sagen: nix

  • Du Intelligenzbolzen....


    Und Zack muss man sich beim Programmieren nichtmehr um Zeichenkompatibilität kümmern oder beim lesen die ganze zeit über dämliche ü´s stolpern. Sondern das geschiet ales in ob_clearer.
    Output Buffering hat natürlich direkt nichts mit UTf-8 zu tun, allerdingst bietet es sich an, die beien (zumindest in PHP9 zusammen zu verwenden...

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • So etwas habe ich noch nie benötigt und wenn man sowas braucht, dann hat man schon woanders ein Problem. Und PHP9? Uih, ein Überflieger.

  • Ich glaube das 9 sollte eine geschlossene klammer werden, aber auf PHP 9.0 bin ich auch schon neugierig xD

    Danke für die Antworten ...

    @ The User
    Ja es geht dabei hauptsächlich um komplexe Schleifen, functions, rekursive funktionen usw...

    PHP
    if(isset($this) || !isset($this)){ // that's the question...