タグに相当する 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

cffunction

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

var{{var x =1; }} は <cfset var x =1> に相当
代入ステートメント 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> 
// Loop through the 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]; 
... // More code goes here. 
} 
</cfscript>

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

cflocation の例

タグスタイル

<cflocation

url = "URL"

addToken = "yes|no"

statusCode = "300|301|302|303|304|305|307">

スクリプトスタイル

<cfscript>

cflocation(url = "URL",

addToken = "yes|no",

statusCode = "300|301|302|303|304|305|307")

</cfscript>

cfajaxproxy の例

タグスタイル

<cfajaxproxy

cfc = "CFC name"

jsclassname = "JavaScript proxy class name">

OR

 <cfajaxproxy

bind = "bind expression"

onError = "JavaScript function name"

onSuccess = "JavaScript function name">

スクリプトスタイル

<cfscript>

 cfajaxproxy(cfc = "CFC name",

jsclassname = "JavaScript proxy class name")

</cfscript> 

OR 

 <cfscript>

cfajaxproxy

(bind = "bind expression",

onError = "JavaScript function name",

onSuccess = "JavaScript function name")

</cfscript>

cfpdf の例

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

タグスタイル

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

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

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

 </cfpdf>

スクリプトスタイル

cfpdf(action="merge", 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 で追加されたスクリプト関数」を参照してください。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー