CFCのいずれかが一度しか作成できない場合は、ストアドプロシージャをコールするだけで、アルゴリズムやその他のビジネスロジックが含まれていることを意味するので、アプリケーションを最初に呼び出すときにはapplication
スコープの変数開始する。
この例では、Application.cfc
はルートフォルダにあり、CFCファイルは/cfc/
フォルダにあります。
<cffunction name="onApplicationStart" returnType="boolean" output="false">
<cfset application.stObject = {
foo = new cfc.Foo()
, bar = new cfc.Bar()
, etc = new cfc.Etc()
} />
<cfreturn true />
</cffunction>
その後、どこでもあなたのコードでは、あなたが特定のCFCを参照し、そのようにそれに関数を呼び出すことができます。
<cfset qMyData = application.stObject.foo.getMyData() />
あなたがデータとCFCを移入し、それを運ぶために必要がある場合ユーザーのセッションの周りにonSessionStart()
を使用してそのオブジェクトを作成する場合は、Application.cfc
です。また、使用されない空のバージョンを持ち歩くのではなく、セッションを作成してセッションに配置する必要がある時点で作成することもできます。
最後に、ページリクエストの存続期間中のみ、必要に応じて特定のCFCを作成する必要があります。それらはvariables
スコープで作成され、要求中のある時点で移入され、要求が完了すると削除されます。
インスタンス化されたオブジェクトを返す以外は何もしないcfcを1つ持つことができますが、なぜそれをしたいのか分かりません。 –