Action
Introduction
This class intends to make programatic and dynamic functions calls.
How to use
To use the Action
class, just use the factory
method, to build a new object, passing the parameters to use on this function.
At the end, just execute the instance's exec
method, passing optionally the additional parameters.
The URI patterns you can use are:
| Type | Example |
| --------------- | ---------------------- |
| Simple function | 'mySampleFunction()' |
| Class method | '\namespace\MyClass::functionName()' |
| REST call* | 'POST;https://user!password@my_domain.com:8081/api/v99/xpto?v1=1&v2=2#xpto' |
Simple function
Make a call to a global function.
Example
function multiply($x,$y) {
return $x * $y;
}
$action = Action::factory('multiply()');
$response = $action->exec(2,5);
// result = 10
Class method
Instantiate a class object, and execute the assigned method.
Constructor
If your class have a constructor method, and require any parameter, you can suply it on 3rd parameter of factory
method:
$action = Action::factory('MyClass::myFunction()',[],['constructor'=>[1,'string',false]]);
On above the case, the values 1
, 'string'
and false
will be applied on MyClass
constructor.
Examples
class MyClass {
public function myFunction($id, $fieldName) {
// ...
return [
'id' => $id,
'field_name'=> $fieldName
];
}
}
$action = Action::factory('MyClass::myFunction()', [1, 'name']);
$response = $action->exec();
print_r($response);
Will display:
Array
(
[id] => 1
[field_name] => name
)