我认为应该扩展.cfc
组件,但是我正在阅读cfwheels
框架源代码,我看到这样的内容:
<cfcomponent output="false" displayName="Controller">
<cfinclude template="../wheels/controller.cfm">
</cfcomponent>
如上所述,扩展组件和包含模板有什么区别?
此外,我是否应该记住任何范围问题?
答案 0 :(得分:4)
我认为这完全取决于包含/扩展文件中的内容。这可能是这种方式的一个原因是因为你不能将CFC扩展到当前水平以下(不能做extend =“ .. /wheels/controller.cfm”),所以这是基本上只是直接“代理”文件。要扩展“../wheels/controller.cfm,首先必须通过在本地目录(proxy.cfc)中创建一个新cfc并在其中包含controller.cfm文件来实际代理该文件。然后扩展代理。 cfc。
从功能上讲,它们非常相似。从概念上讲,我会说包含的cfm文件可能具有解决单个问题的特定功能,而扩展的cfc文件可能应该是一个完全正常运行的部分,它本身就可以保存扩展类所需的行为。