19 private $objectManager;
24 private $paramsInterpreter;
33 $this->paramsInterpreter = $paramsInterpreter;
42 if (!isset(
$data[
'helper']) || substr_count(
$data[
'helper'],
'::') != 1) {
43 throw new \InvalidArgumentException(
'Helper method name in format "\Class\Name::methodName" is expected.');
45 $helperMethod =
$data[
'helper'];
46 list($helperClass, $methodName) = explode(
'::', $helperMethod, 2);
47 if (!method_exists($helperClass, $methodName)) {
48 throw new \InvalidArgumentException(
"Helper method '{$helperMethod}' does not exist.");
50 $methodParams = $this->paramsInterpreter->evaluate(
$data);
51 $methodParams = array_values($methodParams);
53 $helperInstance = $this->objectManager->get($helperClass);
54 return call_user_func_array([$helperInstance, $methodName], $methodParams);
__construct(ObjectManagerInterface $objectManager, NamedParams $paramsInterpreter)