cfcomponent

説明

コンポーネントオブジェクトを作成および定義します。また、CFML で構築し、cffunction タグ内に囲んだ機能を囲みます。このタグ内には、メソッドを定義している複数の cffunction タグを指定できます。このタグの本文内に指定された cffunction タグ以外のコードは、コンポーネントのインスタンスを作成するときに実行されます。

コンポーネントファイルには CFC という拡張子が付けられ、アプリケーションの任意のディレクトリに保管されます。

コンポーネントメソッドは、次の方法で呼び出されます。

カテゴリ

拡張タグ

シンタックス

<cfcomponent
extends ="anotherComponent"
output = "yes"、"no"
style = "rpc"、"document"
namespace = "default service namespace"
serviceportname = "port element name"
porttypename = "porttype element name"
bindingname = "binding element name"
wsdlfile = "path to hard-coded wsdl file"
displayname = "text string">
hint = "text string"> variable declarations
<cffunction ...>
...
</cffunction>

<cffunction ...>
...
</cffunction>
</cfcomponent>

関連項目

cfargumentcffunctioncfinvokecfinvokeargumentcfobjectcfpropertycfreturn『ColdFusion MX 開発ガイド』ColdFusion コンポーネントの作成と使用

ヒストリ

ColdFusion MX 7:

ColdFusion MX: このタグが追加されました。

属性

属性 必須/
オプション
デフォルト 説明

extends

オプション

 

メソッドとプロパティを継承する親コンポーネントの名前です。

output

オプション

コンポーネント本体の表示可能テキストを標準 CFML として処理します。

コンポーネント内のコンストラクタコードが HTML 出力を生成できるかどうかを指定します。そのコンポーネント内にある cffunction タグ本文の中の出力には影響しません。

  • yes: コンストラクタコードは cfoutput タグ内にある場合と同様に処理されます。シャープ記号 (#) で囲まれた変数名は、自動的に実際の値に置き換えられます。
  • no: コンストラクタコードは cfsilent タグ内にある場合と同様に処理されます。
  • この属性を指定しない場合、コンストラクタコードは標準 CFML として処理されます。すべての変数は cfoutput タグ内に置く必要があります。

style

オプション

rpc

Web サービスに使われる CFC で RPC エンコードスタイルまたはドキュメントリテラルスタイルを使用するかどうかを指定します。

  • rpc: RPC エンコードスタイルを使用します。
  • document: ドキュメントリテラルスタイルを使用します。

namespace

オプション

classname

CFC をドキュメントリテラルスタイルの Web サービスとして使用するときに WSDL で使われるネーム空間を指定します。この属性を指定しない場合、ColdFusion MX はこの値を CFC クラス名から取得します。

 

この属性は、style="document" の場合にのみ適用されます。

serviceportname

オプション

 

WSDL の port 要素の name 属性を指定します。この属性を指定しない場合、ColdFusion MX はこの値を CFC クラス名から取得します。

 

この属性は、style="document" の場合にのみ適用されます。

porttypename

オプション

 

WSDL の porttype 要素の name 属性を指定します。この属性を指定しない場合、ColdFusion MX はこの値を CFC クラス名から取得します。

 

この属性は、style="document" の場合にのみ適用されます。

bindingname

オプション

 

WSDL の port 要素の binding 属性を指定します。この属性を指定しない場合、ColdFusion MX はこの値を CFC クラス名から取得します。

 

この属性は、style="document" の場合にのみ適用されます。

wsdlfile

オプション

 

ColdFusion MX で生成された WSDL の代わりに使用する、正しい形式の WSDL です。

 

この属性は、style="document" の場合にのみ適用されます。

displayname

オプション

 

イントロスペクションを使用して CFC についての情報を示すときに表示される文字列です。この情報は、コンポーネント名に続けて見出しの上に表示されます。

 

style 属性をドキュメントに対して設定した場合、ColdFusion MX は WSDL の service 要素の name 属性として、displayname 属性を使用します。

hint

オプション

 

イントロスペクションを使用して CFC についての情報を示すときに表示されるテキストです。hint 属性の値は、コンポーネント名の見出しの下に表示されます。この属性は、パラメータの目的を説明するのに役立ちます。

 

style 属性をドキュメントに対して設定した場合、ColdFusion MX は WSDL の documentation 要素のコンテンツとして hint 属性を使用します。

使用方法

extends 属性を指定した場合は、親コンポーネントのデータとメソッドを、現在のコンポーネントの一部であるかのように CFC メソッドに使用できます。たとえば managerCFC コンポーネントが employeeCFC コンポーネントを拡張していて、employeeCFC コンポーネントが getEmployeeName メソッドを備えている場合は、次のようにして managerCFC からこのメソッドを呼び出すことができます。

<cfinvoke component="managerCFC" method="getEmployeeName" returnVariable="managerName" EmployeeID=#EmpID#>

このタグには終了タグが必要です。

style="document" を指定した場合、ColdFusion MX は CFC をドキュメントリテラルスタイルの Web サービスとして発行します。詳細については、『ColdFusion MX 開発ガイド』のWeb サービスの使用ドキュメント-リテラルスタイルの Web サービスの公開を参照してください。

<cfcomponent>
   <cffunction name="getEmp">
       <cfquery name="empQuery" datasource="cfdocexamples" >
          SELECT FIRSTNAME, LASTNAME, EMAIL
          FROM tblEmployees
       </cfquery>
       <cfreturn empQuery>
   </cffunction>

   <cffunction name="getDept">
      <cfquery name="deptQuery" datasource="cfdocexamples" >
          SELECT *
          FROM tblDepartments
       </cfquery>
       <cfreturn deptQuery>
   </cffunction>
</cfcomponent>

ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告

バージョン7