2013-06-03 27 views
5

CFML'de yazılmış tüm cfc yöntemleri için output="false" gerekir mi? Dış arayan kişinin fonksiyonu output="false" olduğu sürece tamam olur mu?çıktı = CFML'de yazılmış tüm cfc yöntemi için yanlış gerekli mi?

Herhangi bir CFC yöntemine output="false" eklemezsek, ancak en üstteki arayanın <cfsilent> bloğu içinde olduğundan emin oluruz? uygun mu?

boşluk bastırmak için sadece output="false" mi? Yıllarca hatırladım CFer, output="false" bellek kaybını önlemeye yardımcı olduğunu söyledi: efsane mi yoksa gerçek mi?

cevap

4

Maalesef Adobe ColdFusion, her işlevi, sadece yapıcı alanını etkilemez bileşen seviyesinde output="false" içinde. Bu bile bir sorun teşkil etmeyebilir çünkü kurucudan bir şey çıkarmanın bir yolunu düşünemiyorum ve hatta output="true"'a bile değinmek hiç bir fark yaratmıyor gibi görünüyor.

I (Henry senin sayende) an sahip output="false" ile zincirleme fonksiyonları denedikten ve şüpheleri haklı - output="false" bir çağrı işlevi çağırdığı herhangi bir işlev çıktı bastırır. Bu Adobe ColdFusion 9.0.1'de yapıldı. Bir bileşenin başlatılması çevresinde cfsilent ekleme, output="false" olmadan bileşenin çıktısını yok edecektir, ancak yine de bir şey yapmadığını düşünmüyorum. Bir fonksiyon çağrısının etrafından dolaşmak, aradığı herhangi bir ses çıkışını susturur.

output="false" boşluk bastırılması için yalnızca olduğunu. Çıktı arabelleğine boşluk eklemenin, istek başına bellek kullanımını artıracağını iddia edebilirsiniz, ancak gerçekten bir sızıntı demezdim - belki on binlerce bileşen/işlev çağrınız varsa, sorun yaratabilir.

Output="true" o <cfoutput> etiketler etrafına sarılmış ve otomatik herhangi # dinamik şeyler değerlendirerek olmamış gibi bir işlevi tedavi, farklı bir etkiye sahip.

+1

Bir şekilde, özniteliğin yanlış yönlendirici uygulanması. 'whitespace = 'false' 'yerine kullanılmalıydı ... ve' output =' false 'varsayılan durumda. – Manaus