Purtroppo, in Adobe ColdFusion, output="false"
a livello di componente non influisce ogni singola funzione, solo l'area di costruzione. Questo potrebbe anche non essere importante perché non riesco a pensare a un modo per generare qualcosa dal costruttore, e anzi, anche il passaggio a output="true"
sembra non fare alcuna differenza.
Ora ho (grazie a voi, Henry) sperimentato con concatenamento di funzioni con output="false"
e i tuoi sospetti sono corretti: una funzione di chiamata con output="false"
eliminerà l'output da qualsiasi funzione che chiama. Questo era in Adobe ColdFusion 9.0.1.
L'aggiunta di un cfsilent
all'inizializzazione di un componente consente di escludere l'uscita dal componente senza un output="false"
, ma di nuovo non penso che faccia nulla. Mettendo intorno a una chiamata di funzione si silenzia qualsiasi uscita da qualsiasi cosa chiami.
output="false"
è esclusivamente per la soppressione spazi bianchi. Si potrebbe obiettare che l'aggiunta di spazi bianchi al buffer di output aumenterebbe l'utilizzo della memoria, a richiesta, ma in realtà non lo chiamerei una perdita - forse se si hanno decine di migliaia di chiamate componente/funzione, potrebbe causare problemi.
Output="true"
ha un effetto diverso, considera una funzione come se contenga i tag <cfoutput>
e valuta automaticamente le cose dinamiche #
.
fonte
2013-06-04 00:17:12
In qualche modo fuorviante implementazione dell'attributo, a mio parere. 'whitespace = 'false'' avrebbe dovuto essere usato invece ... e' output =' false'' è il caso predefinito. – Manaus