0

根据http://book.cakephp.org/2.0/en/models/behaviors.html#creating-behavior-methods

我可以执行以下操作:

public function fly(Model $Model, $from, $to) {
    // Do some flying.
}

我想在行为方法中有一个通过引用传递的参数。

这是我的方法:

public function extractByFields(Model $model, $data, $options = array(), Array $missingFields) {

我想通过引用传递的参数是$missingFields.

原因是因为我想返回我的$foundFields,但万一还有其他缺失的字段,我也想将它们公开给方法调用者。

如果 CakePHP 不允许我在我的行为方法中返回通过引用传递的参数,我想要一些关于如何最好地解决问题的建议?

我的版本是 CakePHP2.4

4

1 回答 1

1

对于行为方法,您不能使用按引用传递的参数。call_user_func_array() 用于调用方法,参数不通过引用传递。

可能的解决方法:将缺少的字段存储在 Behavior 类中作为属性,并具有检索它们的方法。

于 2013-08-28T11:08:51.150 回答