ColdFusion の cfproperty タグで定義された変数と変数スコープ変数の違いは何ですか?
私は Java 言語の経験があります。ColdFusion の cfproperty 変数、変数スコープ変数を Java インスタンス変数およびクラス変数と比較できますか?
ありがとう!
ColdFusion の cfproperty タグで定義された変数と変数スコープ変数の違いは何ですか?
私は Java 言語の経験があります。ColdFusion の cfproperty 変数、変数スコープ変数を Java インスタンス変数およびクラス変数と比較できますか?
ありがとう!
CFPROPERTY は、コンポーネントのメタデータを提供する場合にのみ役立ちます。私がそれらを使用するのは、Web サービスのコンポーネントを作成するときだけです。必要な場合です。
CFPROPERTY についてもう少し詳しく説明している TechNote を次に示します。
変数のスコープは「保護」されており、コンポーネント内でのみ使用できます。「this」スコープ変数はパブリック プロパティです。もちろん、「var」キーワードで宣言された変数は、そのメソッドに対してプライベートです。
コンポーネント スコープの詳細は次のとおりです: http://www.hemtalreja.com/?p=94
注:cfpropertyタグは変数を定義していません。
ただし、CFCエクスプローラーを使用する場合(CFCを直接参照する場合)は、CFCオブジェクトのプロパティを確認できるので便利です。
参考までに...cfpropertyはCF9ではるかに便利になります。参照:ORM-ColdFusionデータベース統合の再考
cfproperty は、リモート メソッドでカスタム オブジェクトを使用する場合に便利です。たとえば、次のコンポーネントがあるとします。
<cfcomponent displayname="User">
<cfset variables.firstName = "first" />
</cfcomponent>
SOAP経由で消費されるリモートメソッドへのリターンとして使用したかった. <cfproperty>
返されたオブジェクトにカプセル化する変数ごとにタグを付ける必要があります。これは、そのオブジェクトが複合型として WSDL ドキュメントに含まれるようにするためです。したがって、上記のコンポーネントは次のようになります。
<cfcomponent displayname="User">
<cfproperty name="firstName" type="string" />
<cfset variables.firstName = "first" />
</cfcomponent>