cfimport を使用した import 操作と new 操作

CFScript では、import 操作と new 操作がサポートされています。現在、"New" はキーワードになっています。ただし、これは予約語ではないため、変数名として使用できます。
CFC をインポートするには、cfimport タグまたは import スクリプト演算子を使用します。import 操作では、指定したコンポーネントの内容が現在の名前空間に格納され、変換されたコンポーネントパスがメモリにキャッシュされます。import アクションは、現在のページに対してのみ有効です。CFC を Application.cfm にインポートする場合、CFC は、アプリケーションのその他のページにはインポートされません。
インポートしたコンポーネントは、ドット区切りのパス名を使用せずに直接参照します。キャッシュされたコンポーネントの実行時間は、インポートしていない CFC を使用する場合より高速になります。

注意:

cfobject タグ、cfobject タグ、および CreateObject 関数を使用する場合も、変換されたコンポーネントパスがキャッシュされます。ただし、これらのタグや関数では、イニシャライザ関数は呼び出されません。

スクリプトで import ステートメントを使用するには、次のシンタックスを使用します。

import "cfc_filepath"

ほとんどのパスは引用符で囲まなくても問題ありません。パスを引用符で囲む必要があるのは、ディレクトリ名または CFC 名にハイフンが含まれている場合のみです。
cfimport タグで CFC のインポートがサポートされるようになり、インポートする CF ファイルのパスを path 属性で指定するようになりました。
import 関数、または path 属性を含む cfimport タグは、ページの冒頭でのみ使用します。これらを別の場所で使用した場合は、ページの冒頭に配置した場合と同じ結果になります。したがって、標準的なコーディングスタイルでは、import タグまたは import 演算子をファイルの冒頭に配置します。cfimport タグは、cfcomponent タグの前に配置できます。CFScript の import ステートメントは、コンポーネントステートメントの後に配置する必要があります。
ColdFusion Administrator のサーバーの設定/キャッシュ機能ページに、コンポーネントキャッシュのオプションとコンポーネントキャッシュをクリアするボタンが追加されました。変換されたコンポーネントパスが ColdFusion でキャッシュされないようにするには、コンポーネントキャッシュのオプションをオフにします。変換されたコンポーネントパスをキャッシュからすべて削除するには、「コンポーネントキャッシュを直ちにクリア」ボタンをクリックします。

注意:

いずれの場合も、CFC の com.adobe.coldfusion.* 名前空間は自動的にインポートされます。このパスを明示的にインポートする必要はありません。

new 演算子は、CFC のインスタンスを作成します。この演算子は、cfobject タグおよび CreateObject 関数と同等です。new は、CFScript 演算子として使用することも、CFScript ブロック外部の代入ステートメント(cfset タグなど)で使用することもできます。ColdFusion には、これに対応する cfnew タグがありません。
new 操作のシンタックスを次に示します。

cfObject=new cfcPath(constructorParam1,...)

または

cfObject=new cfcPath(arg1=constructorParam1Value,...)

フォルダー名または CFC 名にハイフンが含まれている場合は、次のシンタックスを使用します。

cfObject=new "cfc-path"(constructorParam1,...)

import 演算子を使用して CFC を含むディレクトリをインポートする場合、cfcPath の値は、CFC ファイル名になります。コンストラクタパラメーターは、位置形式にすることも、name="value" の形式にすることもできます。new 演算子を使用すると、ColdFusion では次の処理が実行されます。

  1. CFC の initmethod コンストラクタメソッドが検索されます。見つかった場合は、コンポーネントがインスタンス化され、 initmethod が実行されます。

  2. initmethod コンストラクタメソッドが見つからない場合は 、 init コンストラクタメソッドが検索されます。見つかった場合は、コンポーネントがインスタンス化され、 init が実行されます。

  3. いずれのメソッドも存在しない場合は、new 操作によってコンポーネントがインスタンス化されますが、コンストラクタは呼び出されません。

注意:

initmethod または init 関数を自動的に呼び出すのは new 演算子のみです。new 演算子は init または initmethod から返された値を返し、戻り値が void である場合は、CFC のインスタンスを返します。cfobject タグおよび CreateObject 関数はこれらの関数を呼び出さないので、カスタムの初期化コードを使用する場合は、そのコードを明示的に呼び出す必要があります。

 Adobe

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2024

Adobe MAX
クリエイティブカンファレンス

10 月 14 日~ 16 日 マイアミビーチおよびオンライン

Adobe MAX

クリエイティブカンファレンス

10 月 14 日~ 16 日 マイアミビーチおよびオンライン

Adobe MAX 2024

Adobe MAX
クリエイティブカンファレンス

10 月 14 日~ 16 日 マイアミビーチおよびオンライン

Adobe MAX

クリエイティブカンファレンス

10 月 14 日~ 16 日 マイアミビーチおよびオンライン