我有一个名为 $obj 的对象。我已经覆盖了__call
该类的函数,因此当我调用时$obj->setVariableName($value)
会发生这种情况:$obj->variableName = $value
. 我不知道$obj->setVariableName($value)
项目中何时以及如何调用。因此,在运行应用程序期间会发生这种情况:
setVariable1($value) : works!
setVariable2($value) : works!
setVariable3($value) : It won't trigger __call()
setVariable4($value) : works!
当我编写额外的函数setVariable3
时,它就可以工作了。不知道setVariable3
是怎么调用的,是直接$obj->setVariable3
调用还是用类似的函数调用call_user_func_array
。
什么问题可能__call
不起作用setVariable3
?
更新:现在我知道这setVariable3
是从 a$form->bind($user)
和正在运行的$user->setVariable3('foo')
作品中调用的。(这是一个 ZF2+Doctrine 项目)