3

实现 CFML 自定义标签(不是 CFX 标签)有哪些常见用例?在我 CF exp 的 3 年里,我从未写过一篇。有人请启发我,在哪种用例/情况下会选择自定义标签而不是 cfc / udf?

4

4 回答 4

7

请记住,自定义标签曾经是扩展 CFML(直到第 4 版)的唯一可用方法 - UDF 稍后出现(CF 5),而 CFC 更晚出现(CF MX)。它们不像以前那样常用,原因很简单,因为有更多的选择。

自定义标签在本质上基本上是程序化的语言,使用 CFC,在实践中变得越来越 OO。这是它们不太常见的另一个原因。

但仍有一些情况下它们会派上用场(但从不需要)——主要用于接口工作。创建开始和结束状态的能力肯定会派上用场。一个简单的示例可以是页面内容的“包装器”,开始标签可能会添加 HTML 标题和页面导航,而结束标签会添加页脚并结束页面。

这样,您的页面内容无非是:

<cfmodule... >
       Page Content!
</cfmodule>

当然还有其他方法可以做到这一点——但有时经典仍然有价值。;^)

于 2011-04-08T00:21:41.760 回答
2

查看 CFUniform 项目,了解自定义标签使用的一个很好的例子。在为应用程序的 UI 部分构建可重用的部分时,自定义标签非常有用。

于 2011-04-08T11:56:01.050 回答
0

我认为,在大多数情况下,自定义标签大部分都被搁置了,因为 UDF、CFC 以及与 Java(以及较小程度的 .NET)的集成允许以更简单和更直接的方式来做类似的事情。

回想我开始CF5的时候,我能想到几个例子。一个好的可能是 CFX)Zip,它允许与 Zip 文件进行交互,之前可以直接通过 CF 获得。

在更现代的环境中,我能想到的唯一用途是提供不是用 Java 或 .NET 编写的预编译代码,例如用 C 编写的专有小玩意儿。不过,这是一个非常小众的用途。

老实说,我想在这一点上它们比其他任何东西都存在更多或向后的兼容性。

于 2011-04-08T00:17:45.380 回答
0

自从 CFC 出现以来,我已经停止使用自定义标签,仅仅是因为开销。它们需要很长时间才能启动和执行。但就像@Jim Davis 所说,它们可能在您需要编写一个包含其他内容的标签时很有用。

但是在定义明确的解决方案中,您可以将它们一起使用。

于 2011-04-14T17:49:06.057 回答