1

升级到 2.0 后,许多“黑客”(例如访问受保护的属性)不再可能。

例如(资产助手):

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

当然,助手致命错误。有谁知道如何在 2.0 中访问这些属性而不会在此过程中产生太多开销?如果 AssetHelper 和其他此类类尝试从 Helper 内部访问视图,它们是否已过时?

4

1 回答 1

0

在 2.0 中从 Helper 访问视图的新方法$this->_View是受保护的。您可以在Helper API 页面上看到它。

我查看了Github 上的 AssetHelper,它已经过时了。ClassRegistry它仍然从而不是从新方法检索视图。它还访问__scripts实际上不是“私有”的旧 1.3 View 类的属性。我认为您是正确的,对真实可见性声明的更改已经破坏了这种使用。

只是集思广益,但我想知道您是否可以创建自己的 View 类,该类具有_scripts$this->_View->getScripts(). 我知道在 2.0 中他们添加了一个巧妙的能力来给核心类起别名;虽然我认为这仅限于助手、组件和行为,但这是需要考虑的事情。

希望有帮助。

于 2011-11-23T21:59:40.693 回答