Invoke()

invokes a function/operation of the given object and if given object is a string, Lucee tries to load as component.

Invoke( object=any, name=string, arguments=any );

Returns: object

Argument Description
object
any, required

a component, struct or scope that holds a function,

can also be the name of a component, in this case the component get loaded.

Alias: cfcInstance, obj, value, variable

name
string, required

name of the function/operation

Alias: methodName, method, functionName, function

arguments
any, optional

arguments to pass to the function/operation

Alias: params, args, argumentCollection

Examples

<cfscript>
    writeDump(label:"structure with invoke()", var:invoke(variables,'myStruct',{a:'First'}));
    private function myStruct(){
    	return "myStruct:"&serializeJson(arguments);
    }
<span class="nf">writeDump</span><span class="p">(</span><span class="nv">label</span><span class="p">:</span><span class="s2">&quot;Adding numbers with invoke()&quot;</span><span class="p">,</span> <span class="k">var</span><span class="p">:</span><span class="nf">invoke</span><span class="p">(</span><span class="nv">variables</span><span class="p">,</span><span class="s1">&#39;calc&#39;</span><span class="p">,{</span><span class="nv">a</span><span class="p">:</span><span class="m">3</span><span class="p">,</span><span class="nv">b</span><span class="p">:</span><span class="m">2</span><span class="p">}));</span>
<span class="nv">private</span> <span class="nv">function</span> <span class="nf">calc</span><span class="p">(</span><span class="nv">numeric</span> <span class="nv">a</span><span class="p">,</span> <span class="nv">numeric</span> <span class="nv">b</span><span class="p">){</span>
	<span class="nv">return</span> <span class="nv">a</span><span class="o">+</span><span class="nv">b</span><span class="p">;</span>
<span class="p">}</span>

</cfscript>

See also