私はちょうど回避策を考えました。ヘルパーを手動で呼び出す必要があるだけで、ZF が を介して呼び出す必要はありませんcall_user_func_array
。
Ref.php
class Zend_View_Helper_Ref extends Zend_View_Helper_Abstract
{
public function removeFromRef(&$ref)
{
// change your var value here
unset($ref['key']);
}
/**
* ZF calls this for us, but we'll call what we want, so you can skip this.
*/
// public function ref()
// {}
}
ご覧のとおり、メイン メソッドにファイル名を付けるという慣例は省略できますが、それでもお勧めします。これで、ビュー/コントローラーで参照を渡すことができます:
// in view:
$this->getHelper('Ref')->removeFromRef($someVar2Change);
// in controller
$this->view->getHelper('Ref')->removeFromRef($someVar2Change);
基本的に、これが何をするか$this->ref()
です: ヘルパーを取得し、次に を呼び出しますcall_user_func_array
。
$this->getHelper('Ref')->ref()
の代わりに使用すると問題が発生する人もいるかもしれません$this->ref()
が、機能します。