CFC Best Practices, Tips, and Tricks - PowerPoint PPT Presentation

About This Presentation
Title:

CFC Best Practices, Tips, and Tricks

Description:

Tips and Tricks. Resources. Examples. www.cflib.org. CFCs serve as DB abstraction ... http://www.oreillynet.com/pub/a/javascript/2003/09/24/coldfusion_tips.html? page=1 ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 14
Provided by: raymond94
Category:
Tags: cfc | best | html | practices | tips | tricks

less

Transcript and Presenter's Notes

Title: CFC Best Practices, Tips, and Tricks


1
CFC Best Practices, Tips, and Tricks
  • Raymond Camden
  • jedimaster_at_mindseye.com

2
Agenda
  • Basic (but real!) Examples
  • Best Practices (Suggestions)
  • Tips and Tricks
  • Resources

3
Examples
  • www.cflib.org
  • CFCs serve as DB abstraction
  • ResourceBundle CFC
  • Localization Utility
  • SimpleCMS
  • Simple CMS based on CFCs

4
Best Practices
  • Control white space generated by CFC

ltcfcomponent displayName"Example"
output"false"gt ltcffunction name"test"
returnType"string" access"public"
output"false"gt ltcfreturn "This is a boring
function."gt lt/cffunctiongt
lt/cfcomponentgt
5
Best Practices
  • Supply Optional Attributes

ltcfcomponent displayName"Example2"
output"false"gt ltcffunction name"test"
returnType"string" access"public"
output"false" hint"This function
does blah using Foo's logic."gt ltcfargument
name"argone" type"string" required"true"gt
ltcfargument name"argtwo" type"numeric"
required"false" default"0"gt ltcfreturn
arguments.argone " with the number "
arguments.argtwogt lt/cffunctiongt
lt/cfcomponentgt
6
Best Practices
  • Use the VAR scope!

ltcfcomponent displayName"Example3"
output"false"gt ltcffunction name"test"
returnType"string" access"public"
output"false"gt ltcfargument name"argone"
type"string" required"true"gt ltcfset var i
0gt ltcfloop index"i" from1 to10gt
..... lt/cfloopgt lt/cffunctiongt
lt/cfcomponentgt
7
Understand Data Scopes
  • Variables
  • This
  • Arguments
  • Function Local

8
Cache CFC Instances
  • CFC creation can be slow.
  • Use createObject/cfobject to create an instance.
  • ltcfinvokegt (typically) works with new instances.

9
Pseudo-Constructor
  • Any code not inside ltcffunctiongt.
  • Useful to initialize variables.
  • BlueDragon has ltcfconstructorgt

10
Dealing with Application Variables
  • Application.cfm and when it's run
  • Flash Remoting/WS calls
  • Same folder
  • Don't rely on it!
  • Application CFC

11
Inheritance/Super
  • Use for Is-A, not Has-A
  • In other words, inheritance is used when a CFC
    defines as "is a" relationship with it's parent.
    It should not be used for simple code re-use.
  • Super allows for a child method to extend a
    parent method.

12
Pass by Ref/by Value
  • Values passed to CFC methods follow the same
    rules as values passed to UDFs.
  • The following are passed by reference
  • Structures
  • Queries
  • Other "comlpex" objects (including CFCs)

13
Resources
  • www.cfczone.org
  • cfcdev mailing list
  • Top Ten Tips article by Rob Brooks-Bilson
  • http//www.oreillynet.com/pub/a/javascript/2003/09
    /24/coldfusion_tips.html?page1
  • CFC Best Practices by Nathan Dintenfass
  • http//www.dintenfass.com/cfcbestpractices/
Write a Comment
User Comments (0)
About PowerShow.com