Pertanyaan Kapan var lingkup variabel Anda dalam komponen ColdFusion?


(A) Apa kasus yang harus Anda var lingkup variabel dan (b) kasus apa yang harus Anda tidak lingkup var dalam komponen ColdFusion?


5
2018-03-17 14:51


asal


Jawaban:


Anda harus var lingkup variabel Anda ketika Anda menerapkan fungsi di dalam CFC yang dibagi di beberapa permintaan (yaitu Singleton, Service CFC dalam lingkup Aplikasi)

Anda tidak perlu (namun masih sangat disarankan untuk) var lingkup variabel Anda jika CFC adalah instantiated setiap kali, DAN metode Anda tidak memanggil metode lain dalam CFC yang sama yang dapat mengakses vars yang Anda tetapkan dalam metode pemanggil . Seperti metode jarak jauh yang Anda panggil langsung melalui layanan web atau ajax, yang tidak memanggil metode lain yang menggunakan vars Anda tidak var scope, atau Controller di CFWheels.

"Anda harus selalu mendefinisikan variabel fungsi-lokal menggunakan kata kunci var." per variabel CFC dan dokumen lingkup http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=buildingComponents_29.html


4
2018-03-17 14:54



Anda harus var lingkup variabel Anda setiap saat Anda tidak ingin nilai variabel yang akan dipengaruhi oleh a) permintaan lain mengakses contoh yang sama, atau b) metode lain dalam contoh yang sama.

Henry adalah pria yang hebat, tetapi pernyataannya bahwa "Anda tidak perlu mengubah variabel Anda jika CFC digunakan setiap saat." salah. :) [EDIT: Henry telah mengedit jawabannya] Saya menulis contoh yang menggambarkan hal ini dalam entri blog ini:

http://daveshuck.com/2006/11/28/thread-safety-example-var-scope-your-loop-index-in-coldfusion-cfcs/

Anda dapat melihat bahwa saya membuat loop tak terbatas dengan menghitung dalam satu fungsi dan menghitung mundur di satu fungsi. Dalam hal ini tidak masalah apakah itu pengguna tunggal atau banyak yang meminta instance yang sama, tetapi dalam satu permintaan satu fungsi menimpa nilai dalam fungsi lain.


3
2018-03-17 15:47



Saya lingkup variabel apa pun yang bukan global atau anggota komponen. Hal terakhir yang ingin Anda lakukan adalah membuat atau menimpa global dalam lingkup variabel


1
2018-03-17 14:55



Kami memeriksa semua var dalam suatu fungsi sehingga mereka tetap lokal hanya untuk fungsi itu. Adapun komponen, Anda dapat menggunakan variabel atau lingkup ini untuk membuat variabel tersedia untuk fungsi apa pun dalam komponen. Lingkup "ini" juga akan membuat variabel langsung tersedia untuk program panggilan jika Anda mengatur akses dengan benar.


0
2018-03-17 15:50