pibase扩展是否仍在TYPO3 8中工作?

Dav*_*tre 4 typo3 typo3-6.2.x typo3-8.x

我必须将TYPO3 6.2网站迁移到8.7.有些网站使用自定义pibase扩展,我是否需要使用Extbase重新开发它们?

Syb*_*ers 13

我发现以下资源有助于移植:

您需要做出的改变可能是微不足道的.在其他情况下,重要.

考虑到所有事情,我通常建议使用Extbase或Doctrine和Fluid,Namespaces,TYPO3 8 API进行重写(如果可能,甚至可以使用TYPO3 9).从长远来看,您的扩展程序(可能)可以更好地维护.

变化

您可能需要更改以下一项或多项(这不是完整列表!):

用新类替换旧的

在大多数情况下,我需要替换以下部分:

  • Tx_Extbase_Utility_Extension:\ TYPO3\CMS\Extbase\Utility\ExtensionUtility
  • t3lib_extMgm:\ TYPO3\CMS\Core\Utility\ExtensionManagementUtility
  • t3lib_div:\ TYPO3\CMS\Core\Utility\GeneralUtility
  • tslib_cObj:\ TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer
  • t3lib_utility_VersionNumber:\ TYPO3\CMS\Core\Utility\VersionNumberUtility
  • t3lib_BEfunc:\ TYPO3\CMS\Backend\Utility\BackendUtility
  • t3lib_TCEmain:\ TYPO3\CMS\Core\DataHandling\DataHandler
  • t3lib_parsehtml_proc:\ TYPO3\CMS\Core\Html\RteHtmlParser

有关完整列表,请参阅ClassAliasMap.php.

TCA

请参阅" Andreas Fernandez:清洁引擎盖 ",以获得有关清理TCA的非常好的描述.

PageRenderer

  • 用$替换$ this-> getPageRenderer \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class);

page.includeJSlibs

"page.includeJSlibs已标记为弃用,将在TYPO3 CMS 8中删除.请使用page.includeJSLibs(使用大写L)代替"


Geo*_*ger 7

所有以前的答案都是正确的,但TYPO3核心团队成员的一些话:没有计划放弃核心"pibase"的支持.即使它没有为开发人员提供太多帮助,也可以使用该API.


但是我建议至少使用独立流体来创建漂亮的模板而不需要所有这些###东西.


Ber*_* πφ 5

您不需要重新开发这些扩展,但您可能需要更改对核心功能的调用。
在 6.2 中,您仍然可以使用旧的类名,如t3lib.
这些类名仅适用于兼容层(有很多延迟)。

将来您需要使用命名空间(以及正确的新类)。您还应该为自己的类使用命名空间。

根据您使用的函数,您可能需要用较新的函数替换某些调用,因为某些函数同时已被弃用。