Let's break this down:
<cfinvoke
component="someComponent"
method="someFunction"
returnVariable="someVariable">
<cfinvokeargument name="someArgument" value="foo" />
</cfinvoke>
The attribute component
is either name of a file with a .cfc
extension or a variable containing an instance of that component. If it was a variable, it would be referenced as #someComponent#
.
If there's just a simple value in there, odds are there's a file named someComponent.cfc
in the same folder.
If there's a dot-separated value in there, like cfc.services.someComponent
,
- look for a folder at the web root named
/cfc/
that contains another folder /services/
in which you'll find the file someComponent.cfc
.
- If you don't see that folder, look for a ColdFusion mapping in the root
Application.cfc
file that creates the alias cfc
and maps it to the folders you want.
- and if THAT's not there, then check your web server for folder aliases or mappings to see what the heck some psychopath did to hide where that code exists.
BUT, I prefer doing a simple text search for the method referenced instead of the component. That function could exist in another component or file than the one referenced.
Since a CFC can extend another CFC, there could be a parentComponent.cfc
that someComponent
extends which actually contains the method in question. Worse, the file someComponent.cfc
could have other files included where one contains the method. The only downside is if the function is named something common like create
.