TYPO3从DataHandler获取受保护的属性

时间:2018-11-13 07:45:43

标签: typo3 protected datahandler

我正在使用钩子

public function processDatamap_afterAllOperations(DataHandler &$pObj)
{

}

我想从protected mmHistoryRecords类中阅读DataHandler。 我该如何在课堂上做到这一点?我的课程已经扩展了BackendUtility

3 个答案:

答案 0 :(得分:2)

您可以使用反射来访问受保护的属性或方法。这样可以避免XCLASSing。

<figure>
    <IMG SRC="assets/Animation/run.gif">
</figure>

您可以在methodsproperties上使用它。 因此,在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