先日をちょっと工夫。
[TestModule1.cfc]
<cfcomponent output="false"> <cffunction name="add" access="public" output="false" returntype="numeric"> <cfargument name="p1" type="numeric" required="true" /> <cfargument name="p2" type="numeric" required="true" /> <cfreturn add2(ARGUMENTS.p1, ARGUMENTS.p2) /> </cffunction> <cffunction name="add2" access="private" output="false" returntype="numeric"> <cfargument name="p1" type="numeric" required="true" /> <cfargument name="p2" type="numeric" required="true" /> <cfreturn ARGUMENTS.p1 + ARGUMENTS.p2 /> </cffunction> </cfcomponent>
[TestModule2.cfc]
<cfcomponent output="false"> </cfcomponent>
で呼び元。
<html> <cfoutput> <head> <title>Test of cffunction</title> </head> <body> <cfset VARIABLES.module1=CreateObject("component", "examples.functest2.TestModule1") /> <cfset VARIABLES.a=module1.add(1, 2) /> Result@Module1=[#VARIABLES.a#] <br /> <cfset VARIABLES.module2=CreateObject("component", "examples.functest2.TestModule2") /> <cfset VARIABLES.module2.add=VARIABLES.module1.add /> <cfset VARIABLES.b=module2.add(8, 10) /> Result@Module2=[#VARIABLES.b#] <hr /> <cfdump var="#VARIABLES.module1#" /> <cfdump var="#VARIABLES.module2#" /> </body> </cfoutput> </html>
結果は、「変数 ADD2 が未定義です。」ってしかられる。