Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Object-Oriented Programming in ColdFusion
Object-Oriented Programming in ColdFusion

Object-Oriented Programming in ColdFusion: Break free from procedural programming and learn how to optimize your applications and enhance your skills using objects and design patterns

Arrow left icon
Profile Icon Matthew Gifford
Arrow right icon
$19.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5 (11 Ratings)
Paperback Oct 2010 192 pages 1st Edition
eBook
$9.99 $25.99
Paperback
$43.99
Subscription
Free Trial
Renews at $19.99p/m
Arrow left icon
Profile Icon Matthew Gifford
Arrow right icon
$19.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5 (11 Ratings)
Paperback Oct 2010 192 pages 1st Edition
eBook
$9.99 $25.99
Paperback
$43.99
Subscription
Free Trial
Renews at $19.99p/m
eBook
$9.99 $25.99
Paperback
$43.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Object-Oriented Programming in ColdFusion

Chapter 2. Effective Component Development

In this chapter, we will learn about the benefits of including attributes into our components, functions, and arguments within the ColdFusion component.

We will also cover the following topics:

  • Using the pseudo-constructor method to set variables

  • Whitespace suppression within the CFC

  • Returning data from your function

  • Access properties and restrictions

  • Documentation and introspection

  • Creating and reading metadata from the component

Pseudo-constructors

In Chapter 1, Introducing ColdFusion Components we looked at how to create an instance of a ColdFusion component using the createObject() function. We also looked at how to pass values through to the instantiated object upon creation using the init() method (also known as the object constructor method), thereby making them available to all methods within the CFC.

You can use any CFML tags or CFScript code within your component document to create your constructor code, and typically it is best practice to place...

Pseudo-constructors


In Chapter 1, Introducing ColdFusion Components we looked at how to create an instance of a ColdFusion component using the createObject() function. We also looked at how to pass values through to the instantiated object upon creation using the init() method (also known as the object constructor method), thereby making them available to all methods within the CFC.

You can use any CFML tags or CFScript code within your component document to create your constructor code, and typically it is best practice to place the constructors at the top of the document, directly beneath the opening cfcomponent tag and before any method definitions.

ColdFusion provides an alternative method for setting your CFC-wide variables in your component, using a pseudo-constructor. This term simply refers to the code contained within the cfcomponent tags but outside of a cffunction block.

A pseudo-constructor's role is to set variables, run queries, or run any code during the instantiation of the...

Returning values and variables


ColdFusion components allow you to return the values of all allowed data types. The cfreturn tag, as we have seen in Chapter 1, and in the getCurrentDate() method in the projects.cfc code, returns a single variable. The return statement in CFScript also returns only one result at a time. If a requirement for the code was to send back more than one variable from the method, a structure or array could be returned containing all required variables and values.

When returning data from a method, you have the ability to explicitly specify what type of value is expected to be returned by using the returnType attribute.

returnType

The returnType attribute is a required attribute when developing ColdFusion components to be used as web services, but is an optional attribute for all other CFC functions.

This attribute allows you to specify what type of data the value is returning from a method. As it is not a required attribute, if nothing was defined, the default returnType...

Access properties


Access attributes control the access to the methods within the component. At its simplest, the access attribute specifies who/what code can access the method and use its services.

Familiarizing yourself with the range of access attributes gives you greater freedom to code remotely using a web service and to integrate other web development tools, such as Flash and Flex, to use ColdFusion output.

It also helps to ensure that you do not restrict function access to a commonly used utility, or open up a method possibly containing private and confidential business logic or code to any third party.

The access attribute is placed within the cffunction tag as follows:

<cffunction name="getAllProjects" returnType="query" output="false" access="public">
</cffunction>

Listing 2.6 Using the access attribute

There are four options to choose from when using this attribute, and all four have a different level of access assigned to them.

Private

This is the most restricted access...

Getting information about your CFC


ColdFusion components have the unique ability to look within themselves and display information regarding their content. It can display all of the methods contained within the component, all of the properties within the functions, including parameters and arguments, and what, if any, information is to be returned. This is commonly referred to as introspection.

Introspection

Introspection provides a valuable tool for gaining a comprehensive snapshot of your code.

This is particularly useful when working in a larger team environment and sharing code that may have been written by another developer, or perhaps in those rare moments when you forget what functions you have written in a CFC within your extensive component library.

CFC Explorer

One method to obtain information about the CFC contents is to view the component directly in your web browser. ColdFusion has a built-in CFC Explorer tool that is able to read a ColdFusion component and display its data directly...

Detailed introspection


From the minimal effort of adding extra hint and displayname tags, the output generated by the CFC Explorer tool for introspection has been enhanced to display much more detail pertaining to the component and its properties.

In a shared working environment, this would be of great benefit to all developers wishing to collaborate on a project and the CFC resources used within.

Summary


In this chapter, we have discussed the benefits of including additional attributes to your components and their included properties and methods to improve on documentation.

Other topics that we have covered in this chapter are:

  • Using the pseudo-constructor to create variables

  • Whitespace suppression using the output attribute

  • Returning variables from your functions

Left arrow icon Right arrow icon

Key benefits

  • Fast-paced easy-to-follow guide introducing object-oriented programming for ColdFusion developers
  • Enhance your applications by building structured applications utilizing basic design patterns and object-oriented principles
  • Streamline your code base with reusable, modular objects
  • Packed with example code and useful snippets

Description

Are you tired of procedural programming or is your extensive code base starting to become un-manageable? Breathe some new life into your code and improve your development skills with the basic concepts of object-oriented programming. Utilize objects, modular components, and design patterns to expand your skills and improve your ColdFusion applications. Packed with example code, and written in a friendly, easy-to-read style, this book is just what you need if you are serious about ColdFusion.This book is a fast-paced tutorial to important ColdFusion object-oriented programming topics. It will give you clear, concise, and practical guidance to take you from the basics of ColdFusion to the skills that will make you a ColdFusion developer to be reckoned with. Don't be put off by jargon or complex diagrams; read and see how you can benefit from this book and extend your development skills in the process.Using the practical examples within this guide, you will learn how to structure your applications and code, applying the fundamental basics of object-oriented programming to develop modular, reusable components that will scale easily with your application. You will learn the basic fundamental practices of object-oriented programming, from object creation and re-use, to Bean objects, service layers, Data Access objects, and sample design patterns to gain a better understanding of OOP using examples that can be altered and applied in your application. Complete with detailed code samples and snippets, and written in a friendly easy-to-follow style, you will be able to break free from writing purely procedural code and enhance your applications by building structured applications utilizing basic design patterns and object-oriented principles.

Who is this book for?

If you are a web developer wanting to implement object-oriented programming with ColdFusion, then this book is for you. If your goal is to get a good grounding in the basics of object-oriented programming concepts, this book is perfect for you. No prior knowledge of object-oriented programming is expected, but basic knowledge of ColdFusion development skills is assumed.

What you will learn

  • Make your ColdFusion Components (CFCs) come alive with methods, using object inheritance, connecting to a database through the internal methods of our object/CFCs
  • Create a Bean object, complete with accessors and mutators to set and retrieve properties in the object, including sample code for ColdFusion 9 script components
  • Optimize and encapsulate your functions to improve code portability
  • Introduce the Bean into ColdFusion object-oriented programming design patterns, discover the benefits of code inheritance and understand polymorphism
  • Persist objects in memory throughout your applications
  • Examples of OOP concepts and basic design patterns
  • Create a service layer or fa?ßade to interact with your objects

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Oct 13, 2010
Length: 192 pages
Edition : 1st
Language : English
ISBN-13 : 9781847196323
Category :
Languages :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Oct 13, 2010
Length: 192 pages
Edition : 1st
Language : English
ISBN-13 : 9781847196323
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 98.98
ColdFusion 9 Developer Tutorial
$54.99
Object-Oriented Programming in ColdFusion
$43.99
Total $ 98.98 Stars icon
Banner background image

Table of Contents

7 Chapters
Introducing ColdFusion Components Chevron down icon Chevron up icon
Effective Component Development Chevron down icon Chevron up icon
Building Your First Bean Chevron down icon Chevron up icon
Inheritance and Object-Oriented Concepts Chevron down icon Chevron up icon
Data Access Objects Chevron down icon Chevron up icon
Gateways Chevron down icon Chevron up icon
Creating a Service Layer Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5
(11 Ratings)
5 star 72.7%
4 star 9.1%
3 star 18.2%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




no ego Feb 06, 2020
Full star icon Full star icon Full star icon Full star icon Full star icon 5
What a great ColdFusion Book even in 2020. Just look at CF version adds and depreciations to lead you from this book to current. Hope the authors write a 2020 updated version!!
Amazon Verified review Amazon
RC Tupper Jun 17, 2011
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Coldfusion is a very different product than it was in the 90's. It's fast, it connects to anything and everything, and its a great server platform for a rich client style application. That said, there are right ways and wrong ways to develop in ColdFusion. This book will get you going in the right direction.
Amazon Verified review Amazon
Marcus Aug 20, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Very very good introduction to OO programming in ColdFusion.If you're a relative beginner in OO or want to get into it, get this book.
Amazon Verified review Amazon
Robin Howland Jan 05, 2011
Full star icon Full star icon Full star icon Full star icon Full star icon 5
If you already have experience of ColdFusion and a are looking for help on structuring your code then this is the book to get.It will take you through the process or creating objects (CFCs) and get you used to the OOP style of separating the code from the detail in order to create flexible re-usable components.The book mostly utilises ColdFusion 8, but also has a few useful examples of creating objects with ColdFusion 9 (ie pure scripting without the ColdFusion tags for cleaner more concise code).I would have liked this to have been written a couple of years ago, but better late than never.
Amazon Verified review Amazon
Denard D. Springle IV Jan 11, 2011
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Matt has taken one of the most mystical topics with hard to cobble together bits of information about Object-Oriented Programming (OOP) in ColdFusion and put it all together into a single cohesive resource that will completely change the way you develop applications with ColdFusion. For years there have been a handful of us who sought out the practices and patterns of Object-Oriented Programming through examples in Java and other languages and implemented a variety of frameworks built around some of these fundamentals. Now, every ColdFusion programmer has a handy desk reference that goes under the hood of developing Object-Oriented Programming in ColdFusion with a grand presentation of both theory and practical application. Taking the reader from the core concepts of ColdFusion components through the use of components as objects gives even the novice ColdFusion developer all the information needed to start writing Object-Oriented applications. From beans, data access operations, gateways, services and the underlying principles of singleton's, inheritance and polymorphism to the application framework that underpins core Object-Oriented Programming functionality in ColdFusion, this book covers all the topics you need to get started. If you're at all serious about writing Object-Oriented ColdFusion applications, in any version of ColdFusion MX or higher, then this is the one resource you'll want to have on your desk - a to the point cookbook on how to implement Java style Object-Oriented Programming in your ColdFusion development.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.