コンポーネントオブジェクトを作成および定義します。また、CFML で構築し、cffunction タグ内に囲んだ機能を囲みます。このタグ内には、メソッドを定義している複数の cffunction タグを指定できます。このタグの本文内に指定された cffunction タグ以外のコードは、コンポーネントのインスタンスを作成するときに実行されます。
コンポーネントファイルには CFC という拡張子が付けられ、アプリケーションの任意のディレクトリに保管されます。
コンポーネントメソッドは、次の方法で呼び出されます。
cfinvoke タグ内で
cfscript タグ内で
<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>
cfargument、cffunction、cfinvoke、cfinvokeargument、cfobject、cfproperty、cfreturn、『ColdFusion MX 開発ガイド』のColdFusion コンポーネントの作成と使用
ColdFusion MX 7:
style、namespace、serviceportname、porttypename、wsdlfile、および bindingname の各属性が追加されました。
hint 属性と displayname 属性の機能が拡張されました。
ColdFusion MX: このタグが追加されました。
| 属性 |
必須/ オプション |
デフォルト | 説明 |
|---|---|---|---|
|
extends |
オプション |
|
メソッドとプロパティを継承する親コンポーネントの名前です。 |
|
output |
オプション |
コンポーネント本体の表示可能テキストを標準 CFML として処理します。 |
コンポーネント内のコンストラクタコードが HTML 出力を生成できるかどうかを指定します。そのコンポーネント内にある
|
|
style |
オプション |
rpc |
Web サービスに使われる CFC で RPC エンコードスタイルまたはドキュメントリテラルスタイルを使用するかどうかを指定します。
|
|
namespace |
オプション |
classname |
CFC をドキュメントリテラルスタイルの Web サービスとして使用するときに WSDL で使われるネーム空間を指定します。この属性を指定しない場合、ColdFusion MX はこの値を CFC クラス名から取得します。
この属性は、 |
|
serviceportname |
オプション |
|
WSDL の
この属性は、 |
|
porttypename |
オプション |
|
WSDL の
この属性は、 |
|
bindingname |
オプション |
|
WSDL の
この属性は、 |
|
wsdlfile |
オプション |
|
ColdFusion MX で生成された WSDL の代わりに使用する、正しい形式の WSDL です。
この属性は、 |
|
displayname |
オプション |
|
イントロスペクションを使用して CFC についての情報を示すときに表示される文字列です。この情報は、コンポーネント名に続けて見出しの上に表示されます。
|
|
hint |
オプション |
|
イントロスペクションを使用して CFC についての情報を示すときに表示されるテキストです。
|
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