CFScript でサポートされる機能

タグに相当する CFScript 機能

ColdFusion 11 では、すべてのタグを cfscript 内で使用できます。

次の表に、ColdFusion のスクリプトスタイルのシンタックスでサポートされるすべてのタグを示します。 

タグ 相当する CFScript の機能
cfabort abort
cfbreak break
cfcase case
cfcatch catch
cfcomponent component
cfcontinue continue
cfcookie Cookie スコープのメモリ内変数への直接代入。直接代入を使用して、ユーザーのシステムに保存される永続 Cookie を設定することはできません。
cfdefaultcase default
cfdirectory
<Cfdirectory action=list/> のみ
ディレクトリ関数 DirectoryCreateDirectoryDeleteDirectoryList および DirectoryRename
cfdump writedump
cfelse else
cfelseif elseif
cfexit exit
cffile ファイル関数 FileDelete、FileSeek、FileSkipBytes、および FileWriteLine。
cffinally finally
xhttpMethod function
cfimage Image 関数
cfif if
cfimport <cfimport path=""> に相当するのは、cfscript 内の import インポートのみです。
cfinclude include
cfinterface interface
cflocation location
cflock lock
cflog writelog
cfloop
  • インデックスを使用した cfloop:for ループ
  • 条件付き cfloop:while ループおよび do while ループ
  • 構造体に対する cfloop:for in ループ。クエリ、リスト、またはオブジェクトに相当するものはありません。
cfobject createobject、new
cfoutput writeoutput
cfparam param
cfprocessingdirective pageencoding
cfproperty property
cfrethrow rethrow
cfreturn

return

cfsavecontent savecontent
cfset 代入ステートメント x =1; は <cfset x =1> に相当します。
local.x=1; は <cfset var x =1> に相当します。
cfswitch switch
cfthread thread
cfthrow throw
cftrace trace
cftransaction transaction
cftry try

スクリプトスタイルのシンタックスの例

次の例では CFScript でクエリ結果をループ処理しています。

... 
<cfscript> 
// qGetEmails RecordSet を反復処理 
for (x = 1; x <= qGetEmails.RecordCount; x=x+1) { 
This_id = qGetEmails.Emails_id[x]; 
This_Subject = qGetEmails.Subject[x]; 
This_RecFrom = qGetEmails.RecFrom[x]; 
This_SentTo = qGetEmails.SentTo[x]; 
This_dReceived = qGetEmails.dReceived[x]; 
This_Body = qGetEmails.Body[x]; 
... // その他のコードをここに記述} 
</cfscript>

次に、タグスタイルとスクリプトスタイルのプログラミングの違いについて、例を示します。

cflocation の例

タグスタイル

<cflocation

url = &quot;URL&quot;

addToken = &quot;yes|no&quot;

statusCode = &quot;300|301|302|303|304|305|307&quot;>

スクリプトスタイル

<cfscript>

cflocation(url = &quot;URL&quot;,

addToken = &quot;yes|no&quot;,

statusCode = &quot;300|301|302|303|304|305|307&quot;)

</cfscript>

cfajaxproxy の例

タグスタイル

<cfajaxproxy

cfc = &quot;CFC name&quot;

jsclassname = &quot;JavaScript proxy class name&quot;>

OR

 <cfajaxproxy

bind = &quot;bind expression&quot;

onError = &quot;JavaScript function name&quot;

onSuccess = &quot;JavaScript function name&quot;>

スクリプトスタイル

<cfscript>

 cfajaxproxy(cfc = &quot;CFC name&quot;,

jsclassname = &quot;JavaScript proxy class name&quot;)

</cfscript> 

または 

 <cfscript>

cfajaxproxy

(bind = &quot;bind expression&quot;,

onError = &quot;JavaScript function name&quot;,

onSuccess = &quot;JavaScript function name&quot;)

</cfscript>

cfpdf の例

次に、子タグが存在する場合の、タグスタイルとスクリプトスタイルのシンタックスの違いについて、例を示します。

タグスタイル

<cfpdf action=&quot;merge&quot; destination=expandPath(’./MyPDFMerged.pdf’) overwrite=true>

<cfpdfparam source=expandPath(’./MyPDF1.pdf’)>

<cfpdfparam source=expandPath(’./MyPDF2.pdf’)>

 </cfpdf>

スクリプトスタイル

cfpdf(action=&quot;merge&quot;, destination=expandPath(’./MyPDFMerged.pdf’), overwrite=true) {

  cfpdfparam(source=expandPath(’./MyPDF1.pdf’));

  cfpdfparam(source=expandPath(’./MyPDF2.pdf’));

  };

予約語

ColdFusion 関数の名前と、ColdFusion 式で予約されている語(NOT、AND、IS など)に加えて、CFScript では次の語が予約されています。これらの語を、スクリプトコードの中で変数または識別子として使用しないでください。

break

do

import

var

case

else

in

while

catch

finally

interface

 

try

for

pageencoding

 

continue

function

return

 

default

if

switch

 

スクリプト関数

スクリプト関数のリストについては、「ColdFusion 9 で追加されたスクリプト関数」を参照してください。

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト