升级到 2.0 后,许多“黑客”(例如访问受保护的属性)不再可能。
例如(资产助手):
$scripts = $this->View->_scripts;
//pack and return combined scripts
当然,助手致命错误。有谁知道如何在 2.0 中访问这些属性而不会在此过程中产生太多开销?如果 AssetHelper 和其他此类类尝试从 Helper 内部访问视图,它们是否已过时?
升级到 2.0 后,许多“黑客”(例如访问受保护的属性)不再可能。
例如(资产助手):
$scripts = $this->View->_scripts;
//pack and return combined scripts
当然,助手致命错误。有谁知道如何在 2.0 中访问这些属性而不会在此过程中产生太多开销?如果 AssetHelper 和其他此类类尝试从 Helper 内部访问视图,它们是否已过时?
在 2.0 中从 Helper 访问视图的新方法$this->_View
是受保护的。您可以在Helper API 页面上看到它。
我查看了Github 上的 AssetHelper,它已经过时了。ClassRegistry
它仍然从而不是从新方法检索视图。它还访问__scripts
实际上不是“私有”的旧 1.3 View 类的属性。我认为您是正确的,对真实可见性声明的更改已经破坏了这种使用。
只是集思广益,但我想知道您是否可以创建自己的 View 类,该类具有_scripts
像$this->_View->getScripts()
. 我知道在 2.0 中他们添加了一个巧妙的能力来给核心类起别名;虽然我认为这仅限于助手、组件和行为,但这是需要考虑的事情。
希望有帮助。