$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->setVariable3call_user_func_array
__callうまくいかない問題は何setVariable3ですか?
更新:setVariable3これが a から呼び出され、$form->bind($user)実行中$user->setVariable3('foo')の作品であることがわかりました。(これは ZF2+Doctrine プロジェクトです)