... ColdFusionで
あなたはフロンには、以下のオプションがあり、1)のみCFSCRIPT、2)タグのみと3)にcfscriptブロックとタグ
スクリプト
これはColdFusionの新しいバージョンで動作し、コントローラとモデルに適しています。このタイプのコードは、JavaやC#開発者とのコラボレーションにも役立ちます。
<cfscript>
はコードには表示されません。 ColdFusionはこれが純粋な<cfscript>
ファイルであることを断言しています。
component client="true" output="false" {
public function getStatus(id)
{
q = queryExecute("select * FROM status where id = '#id#'",
null, {"datasource"="cfds"});
return q;
}
public function getStatusByType(type)
{
// always include type 0 status as they are global
q = queryExecute("select * from status where type = '#type#'
or type = 0", null, {"datasource"="cfds"});
return q;
}
}
タグ これは、ColdFusionの以前のバージョンで動作し、最も一般的であるとするようなものです。 ColdFusionの以前のバージョンでは、スクリプト
と
<cfcomponent>
<cffunction name="getStatus">
<cfargument name="id">
<cfquery name="q" datasource="cfds>
select * FROM status where id = '#id#'
</cfquery>
<cfreturn q>
</cffunction>
<cffunction name="getStatusByType">
<cfargument name="id" datasource="cfds>
<cfquery name="q" datasource="cfds">
select * from status where type = '#type#'
or type = 0
</cfquery>
<cfreturn q>
</cffunction>
</cfcomponent>
タグではなく、すべてのタグは、スクリプトに相当していました。この理由のために、私たちは多くの場合、<cfscript>
モードに出入りする必要がありました。このアプローチのこの良い部分は、必要に応じてコードを変換できることです。
<cfcomponent>
<cffunction name="getStatus">
<cfargument name="id">
<cfquery name="q" datasource="cfds>
select * FROM status where id = '#id#'
</cfquery>
<cfreturn q>
</cffunction>
<cfscript>
public function getStatusByType(type)
{
// always include type 0 status as they are global
q = queryExecute("select * from status where type = '#type#'
or type = 0", null, {"datasource"="cfds"});
return q;
}
</cfscript>
</cfcomponent>
FWIWは、関数が関数のfuncitonローカル変数をスコープするのを忘れました。たとえば、 'var q = queryExecute()'とか、varialbeの定義と 'return queryExecute()'だけを避けてください。 –
また、引数をスコープしてクエリパラメータを使用するのを忘れていました。 Bad Adobe .. .. – Leigh