首先,我学习这门语言才入门,相当于菜鸟级.写的文章可能欠妥,如有,请大家留言或发邮件给我.但示例代码绝对能成功运行且能达到文章预期效果.要示例代码的请联系我,我会发您的邮箱.
本人用的是coldfusion企业9、IIS、Dreamweaver8等工具.
ColdFusion 的 CFC 有点类似对象
了解CFC之前最重要的是关于对象的概念。
首先必须知道—CFML 不是面向对象语言, 而且 CFC 并未提供所有面向对象程序语言应有的功能。这不是一件坏事, 因为面向对象语言牵涉到许多外来属性, 语法规则上也过于复杂。但对于使用 CFML 这类快速开发语言的开发人员来说, 没道理不能使用面向对象技术, 这就有了 CFC, 它的诞生可以说是为了简化一些程序设计上对 OOP 的需求。
为了简单易用, 也为了避开纯粹面向对象程序中遇到的一些恼人的问题, CFC 中的对象只是简单的做到在程序中重复使用。就像黑匣子一样, 不管您如何设计它, 别人都不需要知道您是怎么设计它的, 但是可以为人所用。听起来有点像自定义标签, 的确CFC与自定义标签有许多类似之处, 但 CFC 的作用比自定义标签来的强大。例如说它们常常不仅包含标签与函数, 还可以包含任何数据, 允许完整地封装任何数据和程序。对象通常具有多个方法 (method), 它提供自动进行初始化的机制, 而且不需要入口 (例如 Java 里的 main()), 对象可以被转接及修改, 现有的程序代码都可以用继承的方式自动结合, 不必真正动手去更改源代码。
介绍 CFC
现在您应该知道什么是 CFC 了, 让我们一起来看看他们是怎么创建的。首先请确认 ColdFusion 的服务运行正常。建立 CFC 的步骤充分表现了 ColdFusion 的宗旨: 非常容易!只要两个步骤就可以完成:
- 创建一个以 .CFC 为扩展名的文件。(主要是为了区别 CFC 与一般的 .CFM 页面)
- 使用四个新的标签来创建新组件, 定义他们的方法和元素, 并返回变量。
这四个新标签是:
<CFCOMPONENT>
: 定义新组件<CFFUNCTION>
: 在组件中定义方法<CFARGUMENT>
: 定义传入方法的参数变量<CFRETURN>
: 从方法中返回结果
尽管这些功能类似在 CFMX 中创建自定义标签与自定义函数, 但它不同于自定义标签与自定义函数, 在组件中您可以很自由地使用任何标签、方法、系统标签、组件…等。
创建 CFC
browser.cfc(看范例程序代码) 有一些简单的例子让大家更了解 CFC, 这是一个验证浏览器用的 CFC, 用于辨识使用者的浏览器种类。
这个文件的名字是 browser.cfc, 它就是一个 CFC。在 CFC 组件里, 所有代码都是被包含在 <CFCOMPONENT>
和 </CFCOMPONENT>
之中。这个组件自己本身有一个单独的函数isIE(), 是使用 <CFFUNCTION>
来命名和定义的。在这个函数中有一个变量被定义为result, 如果浏览器的标识包含了Microsoft Internet Explorer的标识符, 这个变量就会被设定为“YES”, 并通过 <