関数とは、CFタグと同様にColdFusionサーバー上で動作します。一般的な使い方では、一つ、または、複数の引数を関数の呼び出しとともに渡し、その関数の処理を実行した結果を画面に表示したり、変数の値やCFタグの属性の値として指定したりします。
関数は、絶対値や日付情報を返すもの、文字列の操作、値のチェックなど、約400個におよびます。『Adobe ColdFusion 11 CFML リファレンス』マニュアルに、関数についての情報が記載されています。
※Webページの作成でよく使われるJavaScriptにも同様に関数が用意されていますが、ColdFusion関数がColdFusionサーバー側で動作する事に対して、JavaScriptの関数はブラウザ上で動作します。つまりColdFusionサーバー側でCFタグや関数の処理が終わり、Webサーバーからブラウザに処理の結果が戻されてからJavaScriptの関数が動作する事になります。詳しくはこちらもご覧下さい。
※上記の CFMLリファレンスのマニュアルは、ColdFusion 11 の差分のみが掲載されているため、ColdFusion 10 のリファレンスマニュアルもご参考下さい。「ColdFusion 10 CFML リファレンス」
ページ内で関数を呼び出し、その結果を画面上に表示したい時は以下の形式でプログラミングを行います。
今日の日付は、#Now()# です。
出力された日付情報は整形されていないオブジェクト形式のため、このままでは分かりづらいです。Now()関数の出力結果を整形してみます。日付情報をフォーマットする関数にDateFormat()関数があります。
DateFormat()関数のシンタックスは下記の通りです。
『DateFormat関数』より
DateFormat("date" [, "mask" ])
上記のオンラインマニュアルを確認すると、一つ目の引数"date"には日付時刻オブジェクトを、二つ目の引数"mask"にはオプション(必須じゃ無い引数)で表示する日付形式を指定することが分かります。実は、Now()関数の出力結果は日付時刻オブジェクトのため、一つ目の引数にそのままNow()関数の出力を指定することができます。関数を入れ子(関数の中に違う関数を指定する事)にして記載すると下記のようになります。
今日の日付は、#DateFormat(Now())# です。
今日の日付は、<cfoutput>#DateFormat(Now(),'yyyy/mm/dd')#</cfoutput>です。