1

2.0 にアップグレードすると、保護された属性へのアクセスなどの多くの「ハック」ができなくなります。

例 (AssetHelper):

$scripts = $this->View->_scripts;
//pack and return combined scripts

もちろん、ヘルパーの致命的なエラーです。2.0 でこれらの属性にアクセスする方法を知っている人はいますか? ヘルパー内からビューにアクセスしようとすると、AssetHelper やその他のそのようなクラスは古くなっていますか?

4

1 に答える 1

0

2.0 でヘルパーからビューにアクセスする新しい方法は、$this->_Viewどちらが保護されているかです。Helper API ページで確認できます。

Github で AssetHelperを見たところ、古くなっています。ClassRegistry新しいメソッドではなく、引き続きビューを取得します。__scriptsまた、実際には「プライベート」ではなかった古い 1.3 View クラスの属性にもアクセスします。実際の可視性宣言への変更により、この使用が壊れたというあなたの意見は正しいと思います。

ブレインストーミングですが、 の_scriptsような属性の getter を持つ独自の View クラスを作成できないでしょうか$this->_View->getScripts()2.0 では、コア クラスをエイリアスする巧妙な機能が追加されたことを知っています。これはヘルパー、コンポーネント、および動作に限定されていると思いますが、それについて考える必要があります。

それが役立つことを願っています。

于 2011-11-23T21:59:40.693 に答える