便利な方法がいたるところに散らばっていました。これらをいくつかのヘルパークラスにプッシュし、ヘルパークラスをレイヤースーパータイプのメンバーで保護しました。
Zend Viewに来るまで、すべてが順調に進んでいました。Zend Viewを拡張してレイヤーをスーパータイプにしましたが、保護されたメンバーをアタッチしようとすると、次のようにスローされます。
Zend Viewの例外:プライベートまたは保護されたクラスメンバーの設定は許可されていません。
第一に、なぜそのようなメンバーは許可されないのでしょうか?何か案は?第二に、あなたは過去にそれを回避しましたか?そして、それはどうでしたか?(フレームワークは、先頭のアンダースコアの存在によって保護されたメンバーを検出しているようです。これは少し行き当たりばったりで、簡単に回避できるようです)。
注-私はそれを回避すると言っているのではありません。私は他の人が過去に何をしたかを調べようとしています(奇妙な制約のように見えるため)。
特性を使用してヘルパーと関連するプロキシメソッドを各スーパークラスに取り込むので、これは私にとって重要なポイントです。ビューのためだけに別の特性を維持したくありません。あるいは、ヘルパーを各スーパークラスのパブリックメンバーにしたくありません。
ありがとうございました!