Program Hello World dalam ColdFusion
Saat seorang user
meminta sebuah halaman ColdFusion page (biasanya file dengan extension .CFM)
dari webserver, ColdFusion Server akan menjalankan halaman dan
mengeluarkan halaman standard HTML ke webserver untuk dikembalikan ke
browser user. Dalam kasus simpel dimana hanya ada HTML tags dan tidak ada CFML
tags dalam halaman, tidak ada proses yang dilakukan, dan HTML hanya melewatinya
tanpa diubah. Jadi jika anda ingin menulis program "Hello World"
dalam ColdFusion, ini hanya melibatkan HTML saja:
<HTML><BODY>
Hello World
</BODY></HTML>
HelloWorld.cfm
Jika ada CFML tags
maka ColdFusion akan memprosesnya, mengkalkulasi variabel, pernyataan if, dan
looping, untuk kemudian di buat HTML. Jika anda familiar dengan C, maka anda
bisa bandingkan dengan C preprocessor for HTML!
Mari kita tambahkan
beberapa ColdFusion code ke dalam contoh Hello World kita. Kita akan menanyakan
nama si user dan kemudian menampilkan Hello [nama]. Dalam standard HTML web
page, kita harus memasukkan nama user dalam halamam terpisah adri halaman yang
akan memprosesnya. Hal ini dikarenakan setelah sebuah halam ditampilkan dalam
browser, maka komunikasi antara browser dengan server akan berhenti, jadi agar
server dapat melakukan proses dibutuhkan halaman kedua. (Catatan: Dapat juga
dilakukan untuk menjalan code dalam browse, tetapi ini akan membutuhkan
JavaScript atau client-side addons lainnya ke HTML, dimana kita tidak
menginginkannya.)
Catatan:
Kenyataannya webpage berdiri sendiri (terpisah dari server) dan ini menjadi
satu dari banyak hal yang membingungkan dari penulisan aplikasi web.
Kadang-kadang dijelaskan sebagai stateless dan setiap halaman tidak
secara otomatis minyimpan dalam memori atau status dari halaman sebelumnya
sampai kode anda secara jelas menyampaikan informasi yang ada. Bandingkan
situasi ini dengan sebuah pemrograman tradisional dalam Basic atau C, dimana
kita dapat secara mudah memindahkan variabel global atau parameter dalam
program kita.
Kita tambahkan
sebuah halaman baru GetName.cfm untuk mengambil nama user dan mengubah halaman
tampilan menjadi HelloWorld2.cfm, seperti di bawah ini.
<HTML><BODY>
<FORM NAME="GetName" ACTION="HelloWorld2.cfm" METHOD="post">
<INPUT TYPE="TEXT" NAME="FirstName">
<INPUT TYPE="SUBMIT" VALUE="OK">
</FORM>
</BODY></HTML>
GetName.cfm
<HTML><BODY>
<CFOUTPUT>
Hello #FirstName#
</CFOUTPUT>
</BODY></HTML>
HelloWorld2.cfm
Halaman pertama
GetName.cfm adalah sebuah HTML murni untuk tampilan input. Halaman kedua
HelloWorld2.cfm mengandung dua perintah ColdFusion - <CFOUTPUT> tag untuk
menyalakan output ColdFusion variable(yang akan berpasangan dengan
</CFOUTPUT> tag untuk mematikannya). Dan tanda pagar (#) sebagai
pemisah variabel FirstName yang disampaikan sebagai variabel form dari halaman
GetName.cfm. Saat halaman dijalankan dan anda mengetikkan nama Michael ke halaman
pertama, hasilnya kemudian dapat kita lihat "Hello Michael" dan
HTML berikut akan di generate:
<HTML><BODY>
Hello Michael
</BODY></HTML>
Mari kita lakukan
latihan terakhir dari contoh ini, yang akan mengatakan Selamat Pagi, Siang
atau Malam tergantung waktu yang berlaku di server. Kita akan menggunakan
fungsi ColdFusion Now() dan Hour() yang akan mengembalikan tanggal/jam
(date/time) dan jam akan berada diantara 0 dan 23 dari nilai
tanggal/jam.
<HTML><BODY>
<CFOUTPUT>
<CFIF Hour(Now())GT 18>
Selamat Malam
<CFELSEIF Hour(Now())GT 12>
Selamat Siang
<CFELSE>
Selamat Pagi
</CFIF>
#FirstName#
</CFOUTPUT>
</BODY></HTML>
HelloWorld3.cfm
Disini juga
digunakan <CFIF> <CFELSE> </CFIF> tags yang akan menampilkan
hasil yang berbeda-beda tergantung dari jam hari tersebut - apapun kondisinya.
Harap diperhatikan karena kita menggunakan HTML, carriage return dalam text
tidak akan berpengaruh dan salam "Selamat Pagi Michael" akan muncul
dalam satu baris. Jika diinginkan dalam dua baris, kita harus gunakan standar linebreak
HTML tag <BR> sebelum variabel #FirstName#.
ColdFusion memiliki
lebih dari seratus fungsi Arrays, Date and Time, Decisions, Display and
Formatting, Dynamic Evaluation, List Processing, Structures, International,
Mathematics, Strings, System values and Query manipulation. Juga ada
sekitar 70 tags untuk Database Manipulation, Data Output, Variable
Manipulation, Flow-Control, Internet Protocols, File Management, Web
Application Framework, ColdFusion Forms, External System Tags. Sebagai tambahan
kita dapat menulis sendiri tag baru dalam ColdFusion or C.