我正在使用钩子
public function processDatamap_afterAllOperations(DataHandler &$pObj)
{
}
我想从protected mmHistoryRecords
类中阅读DataHandler
。
我该如何在课堂上做到这一点?我的课程已经扩展了BackendUtility
答案 0 :(得分:2)
您可以使用反射来访问受保护的属性或方法。这样可以避免XCLASSing。
<figure>
<IMG SRC="assets/Animation/run.gif">
</figure>
您可以在methods和properties上使用它。 因此,在PHP中,没有什么是“私有的” ...您需要判断自己是否应该这样做,但这始终是可能的。
答案 1 :(得分:0)
除了将XCLASS用于DataHandler并为此属性添加getter方法之外,我没有看到其他选择。
答案 2 :(得分:0)
您不能从其所在类的外部访问受保护的属性。这就是受保护(和私有)属性的整个概念。您需要一个getter方法,因此您可以从核心开发人员那里请求一个方法,也可以向xclass DataHandler
请求一个以自己添加它。
xclass的问题在于,如果更改了要进行xclassing的类,则在更新TYPO3之后,它可能不再起作用,但是如果仅为所需的受保护属性添加getter,则这种可能性很大较小,用于TYPO3的次要更新。
您可以在此处找到有关xclass的更多信息:https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Xclasses/Index.html