break
最終更新日 :
2022年2月9日
|
次にも適用 : ColdFusion
タグに相当する 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/> のみ |
ディレクトリ関数 DirectoryCreate、DirectoryDelete、DirectoryList および 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 |
|
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>
...
<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>
... <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 = "URL"
addToken = "yes|no"
statusCode = "300|301|302|303|304|305|307">
<cflocation
url = "URL"
addToken = "yes|no"
statusCode = "300|301|302|303|304|305|307">
<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>
<cfscript>
cflocation(url = "URL",
addToken = "yes|no",
statusCode = "300|301|302|303|304|305|307")
</cfscript>
<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">
<cfajaxproxy
cfc = "CFC name"
jsclassname = "JavaScript proxy class name">
OR
<cfajaxproxy
bind = "bind expression"
onError = "JavaScript function name"
onSuccess = "JavaScript function name">
<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>
または
<cfscript>
cfajaxproxy
(bind = "bind expression",
onError = "JavaScript function name",
onSuccess = "JavaScript function name")
</cfscript>
<cfscript>
cfajaxproxy(cfc = "CFC name",
jsclassname = "JavaScript proxy class name")
</cfscript>
または
<cfscript>
cfajaxproxy
(bind = "bind expression",
onError = "JavaScript function name",
onSuccess = "JavaScript function name")
</cfscript>
<cfscript> cfajaxproxy(cfc = "CFC name", jsclassname = "JavaScript proxy class name") </cfscript> または <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’)>
</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’));
};
cfpdf(action="merge", destination=expandPath(’./MyPDFMerged.pdf’), overwrite=true) {
cfpdfparam(source=expandPath(’./MyPDF1.pdf’));
cfpdfparam(source=expandPath(’./MyPDF2.pdf’));
};
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 では次の語が予約されています。これらの語を、スクリプトコードの中で変数または識別子として使用しないでください。
|
do |
import |
var |
---|---|---|---|
case |
else |
in |
while |
catch |
finally |
interface |
|
try |
for |
pageencoding |
|
continue |
function |
return |
|
default |
if |
switch |
|
スクリプト関数
スクリプト関数のリストについては、「ColdFusion 9 で追加されたスクリプト関数」を参照してください。