Buffering di output PHP: sembra una ctriggers idea, vero?

Voglio solo scegliere il cervello degli esperti sul buffering dell'output php. Ci sono volte in cui ho voluto implementarlo per un motivo o per un altro, ma sono sempre riuscito a riorganizzare il mio codice per aggirarlo.

Evito di usarlo perché sembra che costerà delle risorse. Voglio dire, se possono offrire al programmatore una tale meravigliosa flessibilità, perché non bufferizzano sempre l'output? L'unica risposta che posso dare è che, poiché non si fa il buffering, si risparmiano enormi risorse e con una buona pratica di codifica non si dovrebbe averne bisogno.

Sono lontano qui?

Dalla mia esperienza, non c'è un impatto significativo sulle performance. Inoltre non riesco a trovare risposte coerenti sull'argomento – alcune persone affermano che non c'è quasi nessun colpo contro la performance, mentre alcuni dicono che c'è un effetto minore ma significativo. C'è anche un commento su php.net che suggerisce che il buffering aumenta le performance rispetto a più funzioni di output, non che io abbia verificato questo o altro.

Penso che la questione se tamponare o less abbia più a che fare con l'uso previsto della tua applicazione. Il buffering ha molto senso se si desidera comprimere l'output prima di inviarlo o se si desidera controllare esattamente quando e where l'output ha luogo nel codice. Dal momento che non richiede tanto sforzo per aggiungere il buffering, puoi anche provarlo – dovrebbe essere relativamente facile rimuoverlo se necessario.

Penso il contrario. Non eseguire il buffering dell'output è una ctriggers idea, a less che non ti imbatti in una situazione in cui ne hai davvero bisogno. Ad esempio, uno script che creerà enormi quantità di output.

Nella maggior parte dei casi, bruciando un po 'di tempo del programmatore per salvare una quantità sconosciuta di suoni di memory (economici) come uno spreco di risorse.

Usando il buffer di output sono stato in grado di creare rapidamente un sistema di template leggero per un back-end MVC fatto in casa per il mio ultimo progetto PHP. Lo adoro e lo trovo molto utile.

E per quanto riguarda le risorse: non è ad alta intensità di risorse. Se sei preoccupato per il poco che usa, PHP non è lo strumento giusto per il lavoro. Adoro PHP ma NON è l'opzione più leggera. Su qualsiasi server ragionevolmente moderno però, non import.

Se ti trovi nella situazione in cui il contenuto viene emesso prima delle intestazioni, devi inserirle in un buffer altrimenti la pagina visualizzerà erroneamente il contenuto che è stato emesso prima delle intestazioni. Questo mi è successo con le librerie condivise e non ho avuto abbastanza tempo per entrare e fare una correzione adeguata per il lancio. È uno di quelli che segnano un // TODO / FIXME e poi tornano indietro e lo rendono opportuno in seguito.