Cakephp 3交互组件动作

Cakephp 3交互组件动作,php,components,cakephp-3.0,Php,Components,Cakephp 3.0,我使用CakePHP3.2更改为一个新服务器,该服务器运行的是PHP7,而不是5.4。现在,我对调用组件的交互方式和所需的操作有一个问题。我使用的是以下内容: $data[$csvKnowField->field_number] = $this->Replace->$csvKnowField['imports_mapping']['component_action']($data[$csvKnowField->field_number]); 这给出了一个错误:函数名

我使用CakePHP3.2更改为一个新服务器,该服务器运行的是PHP7,而不是5.4。现在,我对调用组件的交互方式和所需的操作有一个问题。我使用的是以下内容:

$data[$csvKnowField->field_number] = $this->Replace->$csvKnowField['imports_mapping']['component_action']($data[$csvKnowField->field_number]);  
这给出了一个错误:函数名必须是字符串。据我所知,问题来自所调用的操作,因为如果我将其更改为:

$data[$csvKnowField->field_number] = $this->Replace->replaceComma($data[$csvKnowField->field_number]);   
一切正常。变量$csvKnowField['imports\u mapping']['component\u action']包含一个交互值,因此可以在Replace组件中调用不同的操作,因此最好保持这种方式


是否有人知道一个解决方案,因此变量中的值可以作为一种交互方式使用?

我建议您查看PHP 7迁移指南,具体来说,但通常您应该阅读所有内容。还有,谢谢,这让我找到了解决办法。以下内容作为指定的$data[$csvKnowField->field_number]=$this->Replace->{$csvKnowField['imports_mapping']['component_action']}($data[$csvKnowField->field_number]);