我認爲應該延長.cfc
組件,但我讀了cfwheels
框架源在那裏我看到這樣的事情:差異
<cfcomponent output="false" displayName="Controller">
<cfinclude template="../wheels/controller.cfm">
</cfcomponent>
是什麼擴展的區別該組件幷包含上面所做的模板?
另外,是否有任何我應該記住的範圍問題?
我認爲應該延長.cfc
組件,但我讀了cfwheels
框架源在那裏我看到這樣的事情:差異
<cfcomponent output="false" displayName="Controller">
<cfinclude template="../wheels/controller.cfm">
</cfcomponent>
是什麼擴展的區別該組件幷包含上面所做的模板?
另外,是否有任何我應該記住的範圍問題?
我認爲這完全取決於包含/擴展文件中的內容。這可能是這樣的一個原因是因爲你不能將CFC擴展到當前級別以下(不能擴展=「.. /wheels/controller.cfm」),所以這基本上只是「代理」該文件直接。爲了擴展「../wheels/controller.cfm,你首先必須通過在本地目錄(proxy.cfc)中創建一個新的cfc來代替文件,然後cfincluding controller.cfm文件,然後擴展代理。從概念上講,我認爲一個包含的cfm文件可能具有解決單個問題的特定功能,而擴展的cfc文件可能應該是一個完整的功能塊,它可以發生在其自身上以保持擴展類需要的行爲
這是一個名爲[Mixin](https://en.wikipedia.org/wiki/Mixin)的設計模式:「在面向對象的編程語言中,mixin是一個類其中包含供其他類使用的方法,而不必是其他類的父類。 [...] Mixins有時被描述爲「被包含」而不是「被繼承」。「就範圍而言,包含文件中的函數仍應適當變化範圍,並且包含的函數可訪問對象 – beloitdavisja