2009-03-06 3 views
9

Tôi đã xây dựng danh sách các phương pháp hay nhất của CFC để chia sẻ.Bộ sưu tập của Coldfusion CFC Thực tiễn tốt nhất/được khuyến nghị?

Có rất nhiều bài viết ở đó nhưng tôi nghĩ có thể gọn gàng để có được bất kỳ thủ thuật và mẹo nào cùng nhau ở đây ở một nơi đã được học qua trải nghiệm.

Tôi sẽ thêm một vài liên kết vào đây để bắt đầu nhưng tôi nghĩ điều tốt nhất sẽ không phải là các bài viết dài có thể được googled.

CFC Best Practices

Macromedia CFC Best Practices

Cập nhật: Điều này đã được thực hiện vào một cộng đồng wiki

+0

1) Luôn đảm bảo kết quả của bạn là tái sản xuất trước khi bạn thông báo cho báo chí ... – Shog9

+0

Điều này có vẻ giống như một loại wiki cộng đồng, có lẽ? Dù sao, tôi muốn thỉnh cầu cho một tên được cải thiện, vì tôi phản đối việc sử dụng "tốt nhất" khi từ chính xác hơn thường "được đề xuất" hoặc "thời trang", vì "tốt nhất" là hầu như luôn luôn là vấn đề bối cảnh. –

+0

Peter, xong rồi! –

Trả lời

0

Trước khi sử dụng ColdBox Framework Tôi không thấy bất kỳ bài đăng nào về việc sử dụng Momentos để nắm bắt thuộc tính tại thời điểm đó; tuy nhiên, bây giờ tất cả các hạt của tôi có phương thức getMomento() và setMomento(). Tôi sẽ khuyến khích điều này như là một thực hành tốt nhất cho bất cứ ai cần truyền thông tin từ một bean vào một đối tượng DAO khác.

Trong các thử nghiệm của tôi, nhận được một khoảnh khắc là nhanh hơn nhiều so với đậu và nhận được các thuộc tính. Dưới đây là một ví dụ:

<cfcomponent name="userBean" output="true" hint="The account bean holds getter/setter information for a user's account."> 

<cfproperty name="idUser"   required="true"  type="string" rules="noZeroLengthString,validEmail"  invalidMessage="failed_data_validation_email"    hint="Key matching the 'accounts' table."> 
<cfproperty name="loginEmail"  required="true"  type="string" rules="noZeroLengthString,validEmail"  invalidMessage="failed_data_validation_email"    hint="E-mail address."> 
<cfproperty name="password"   required="true"  type="string" rules="noZeroLengthString,validPassword" invalidMessage="failed_data_validation_password"   hint="Password stored in a SHA-512 hash."> 

<cffunction name="init" output="false" returntype="userBean" hint="Initalizes the userBean with default values."> 
    <cfset variables.instance    = structNew()> 
    <cfset variables.instance.IDUser  = 0> 
    <cfset variables.instance.loginEmail = ""> 
    <cfset variables.instance.password  = ""> 
    <cfreturn this> 
</cffunction> 

<!--- SET LOGIN ---> 
<cffunction name="setLoginEmail" access="public" returntype="void" output="false"> 
    <cfargument name="email" type="string" required="true" /> 
    <cfset variables.instance.loginEmail = trim(arguments.email) /> 
</cffunction> 
<cffunction name="getLoginEmail" access="public" returntype="string" output="false"> 
    <cfreturn variables.instance.loginEmail /> 
</cffunction> 

<!--- ID ---> 
<cffunction name="setIDUser" access="public" returntype="void" output="false"> 
    <cfargument name="id" type="numeric" required="true" /> 
    <cfset variables.instance.IDUser = arguments.id /> 
</cffunction> 
<cffunction name="getIDUser" access="public" returntype="numeric" output="false"> 
    <cfreturn variables.instance.IDUser /> 
</cffunction> 

<!--- PASSWORD ---> 
<cffunction name="setPassword" access="public" returntype="void" output="false"> 
    <cfargument name="password" type="string" required="true" /> 
    <cfset var pw = arguments.password> 
    <cfif len(pw) EQ 0> 
     <cfset variables.instance.password = ""> 
    <cfelse> 
     <!---><cfset variables.instance.password = hash(arguments.password, "SHA-512") />---> 
     <cfset variables.instance.password = arguments.password> 
    </cfif> 
</cffunction> 
<cffunction name="getPassword" access="public" returntype="string" output="false"> 
    <cfreturn variables.instance.password /> 
</cffunction> 

<!--- MOMENTO ---> 
<cffunction name="setMomento" access="public" returntype="void" output="false"> 
    <cfargument name="momento" type="struct" required="true" /> 
    <cfset variables.instance = arguments.momento> 
</cffunction> 
<cffunction name="getMomento" access="public" returntype="struct" output="false"> 
    <cfreturn variables.instance /> 
</cffunction> 

Chúc mừng,

Aaron Greenlee My Site