我正在使用具有许多扩展功能的TYPO3 7.6.14环境。现在我想手动添加composer.json文件。我不想创建一个新项目,它将下载最新的TYPO3核心和TYPO3扩展。我担心这可能会意外地覆盖某些扩展的PHP文件。 我需要一种安全的方法来添加一个composer.json文件,该文件不会自动更改当前的TYPO3 PHP文件。我更喜欢手动下载TYPO3和扩展名。因此我不想使用作曲家模式。我必须找到一种方法来阻止作曲家覆盖我自己编写的PHP文件。
我需要一个composer.json文件,因为我想添加外部TCPDF库,它位于文件系统上,而不是在TYPO3内部的供应商文件夹中。 TYPO3 7.6不再支持ext_autoload.php文件。
我已阅读https://usetypo3.com/typo3-and-composer.html#c51条建议。但它只显示了如何使用命令行和composer命令创建新的TYPO3项目。是否也可以将composer.json文件下载到TYPO3文件夹(哪个?),以告诉自动加载器它将在哪里找到外部TCPDF库? 我在/var/www/html/TCPDF-master/tcpdf.php下解压缩了TCPDF文件。我想使用TCPDF,TYPO3及其扩展名保持不变,并且永远不会被任何作曲家命令更新。
答案 0 :(得分:2)
介绍Composer不使用它的功能对我来说似乎有点奇怪,但是,是的,可以在存储库中定义专用版本或commit-hash来禁用更新。
但是,我建议使用代字号~
运算符来启用对分支的更新,例如自动包含安全更新。对于TYPO3 CMS,此依赖关系将如下所示,以保持7.6分支:
"require": {
"typo3/cms": "~7.6.14"
}
详细了解如何在Composer documentation中声明版本。
除此之外,似乎你根本没有使用Composer进行根项目。然后,您可以使用以下选项之一为TCPDF创建包装器扩展:
typo3conf/ext/tcpdf/vendor/autoload.php
中)ext_emconf.php
,类似于之前的ext_autoload.php
- 在blog post about class loading中查找有关该信息的详细信息