2009-07-09 9 views

答えて

12

CFPROPERTYは、コンポーネントのメタデータを提供する場合にのみ有効です。私がそれらを使用する唯一の時間は、必要なときにWebサービスのコンポーネントを作成するときです。ここ

ビットのcfpropertyさらにについて説明しテクニカルだ:http://kb2.adobe.com/cps/191/tn_19169.html

変数の範囲は、「保護」およびコンポーネント内でのみ利用可能です。 "this"スコープ変数はpublicプロパティです。もちろん、 "var"キーワードで宣言された変数は、そのメソッドに対してprivateです。

は、ここでのコンポーネントのスコープにいくつかのより多くのです:http://www.hemtalreja.com/?p=94

+2

である必要があります。cf9では、cfpropertyが注目され、コンポーネントの変数が実際に設定されています。 accessorsディレクティブを追加すると、デフォルトのgetterとsetterも取得されます。 – anopres

6

注:cfpropertyタグは、ませ定義された変数を行います。

ただし、CFCエクスプローラを使用すると(CFCを直接参照する)、CFCオブジェクトのプロパティを表示できるので便利です。

FYI ... cfpropertyはCF9ではるかに役立ちます。参照:ORM - Rethinking ColdFusion Database Integration

+1

CF8のonMissingMethodでプロパティのメタデータを使用して、Beanに設定できるプロパティを定義することもできます。 –

0

cfpropertyは、リモートメソッドでカスタムオブジェクトを使用する場合に便利です。たとえば、次のコンポーネントがあるとします。

<cfcomponent displayname="User"> 
    <cfset variables.firstName = "first" /> 
</cfcomponent> 

SOAP経由で消費されるリモートメソッドへのリターンとして使用したいと思います。複雑な型としてWSDLドキュメントにそのオブジェクトを含めるには、返されたオブジェクトにカプセル化したい各変数のタグを<cfproperty>にする必要があります。したがって、上のコンポーネントは、

<cfcomponent displayname="User"> 
    <cfproperty name="firstName" type="string" /> 
    <cfset variables.firstName = "first" /> 
</cfcomponent> 
関連する問題