明確にするために、このonRequestEnd()
方法はファイルを利用している場合にのみ使用できApplication.cfc
ます。
このファイルは、ColdFusion が自動的にファイルを検索し、見つかったときにその内容を処理するという点でOnRequestEnd.cfm
、ファイルと同じように実際に機能します。アプリケーションに Application.cfc ファイルがある場合は、OnRequestEnd.cfm ページを使用できないことにApplication.cfm
注意してください。したがって、アプリケーション用のファイルがなく、ファイルのみを使用して いると仮定すると、ファイルは機能するはずです。ページ要求の後に実行する CFML コードをそのファイルに挿入するだけです。Application.cfc
Application.cfm
OnRequestEnd.cfm
いくつかのファイルがさまざまなフォルダーに分散している場合、はい、それらのディレクトリにもファイルApplication.cfm
をコピー/作成する必要があります。別の単一の場所から実際のコード以外のことを何もしないディレクトリ内のスタブOnRequestEnd.cfm
ファイルをコピーできる場合があります。少なくとも、すべてのスタブファイルを入手したら、コードを 1 か所で変更できます。 OnRequestEnd.cfm
cfinclude
アプリケーションの構造化のドキュメントを参照してください(ColdFusion 8 用に書かれていますが、同じルールが適用されます)。そのページが削除された場合、関連するテキストは次のとおりです。
ColdFusion がアプリケーション定義ページを見つけて処理する方法
ColdFusion は、次の規則を使用して、アプリケーション固有の要素を定義する Application.cfc、Application.cfm、および OnRequestEnd.cfm ページを見つけて処理します。ColdFusion がこれらのファイルを検索する方法は、アプリケーションの構造を決定するのに役立ちます。
ColdFusion がページ リクエストを処理するたびに、次の処理が行われます。
ColdFusion がリクエストの処理を開始すると、次の処理が行われます。
- ページのディレクトリで Application.cfc という名前のファイルを検索します。存在する場合は、CFC の新しいインスタンスを作成し、初期イベントを処理して、検索を停止します。(ColdFusion は CFC の新しいインスタンスを作成し、リクエストごとにその初期化コードを処理します。)
- 要求されたページのディレクトリに Application.cfc ファイルがない場合、ディレクトリに Application.cfm ファイルがないかチェックします。存在する場合、ColdFusion は要求されたページの先頭に Application.cfm ページを論理的に含め、それ以上の検索を停止します。
- 要求されたページのディレクトリに Application.cfc または Application.cfm ファイルがない場合、ColdFusion はディレクトリ ツリーを検索し、最初に各ディレクトリで Application.cfc ファイルをチェックし、見つからない場合は Application.cfm ページをチェックします。 、ルート ディレクトリ (C: など) に到達するまで。Application.cfc または Application.cfm ファイルが見つかると、ページを処理して検索を停止します。
- ColdFusion は、要求されたページのコンテンツを処理します。
- リクエストが終了すると、ColdFusion は次のことを行います。
- Application.cfc がある場合、ColdFusion は CFC の onRequestEnd メソッドを処理し、CFC インスタンスを解放します。
- Application.cfc はなく、Application.cfm ページはある場合、ColdFusion は、ColdFusion が現在のページに使用する Application.cfm ページと同じディレクトリで OnRequestEnd.cfm を探します。ColdFusion はそのディレクトリを超えて検索しないため、別のディレクトリにある OnRequestEnd.cfm ページを実行しません。また、アプリケーション ページでエラーや例外が発生した場合、またはアプリケーション ページで cfabort タグまたは cfexit タグが実行された場合、OnRequestEnd.cfm ページは実行されません。
次のルールは、ColdFusion がアプリケーション ページと設定を処理する方法を決定します。
- ColdFusion は、リクエストごとに Application.cfc または Application.cfm ページを 1 つだけ処理します。ColdFusion ページに、追加の ColdFusion ページを指す cfinclude タグがある場合、ColdFusion は、追加のページが含まれている場合、Application.cfc または Application.cfm ページを検索しません。
- ColdFusion ページに cfapplication タグがある場合、最初に Application.cfc または Application.cfm が処理され、次に cfapplication タグが処理されます。タグは、アプリケーション名や cfapplication タグ属性によって設定された動作など、アプリケーション ファイルの設定を上書きできます。
- 同じアプリケーション名を使用する複数の Application.cfc ファイル、Application.cfm ファイル、および cfapplication タグを持つことができます。この場合、同じ名前を持つすべてのページは、同じアプリケーション設定と Application スコープを共有し、このスコープ内のすべての変数を設定および取得できます。セッション タイムアウトなどの設定がファイル間で異なる場合、ColdFusion は cfapplication タグまたは最後に処理されたファイルのパラメータ設定を使用します。
注:大文字と小文字が区別される UNIX プラットフォームでアプリケーションを実行する場合は、Application.cfc、Application.cfm、および OnRequestEnd.cfm を大文字で綴る必要があります。