2016-12-30 64 views
0

我正在使用一個工作TYPO3 7.6.14環境有很多擴展。現在我想手動添加一個composer.json文件。我不想創建一個新的項目,下載最新的TYPO3核心和TYPO3擴展。我擔心這可能會意外覆蓋一些擴展的PHP文件。 我需要一個安全的方式來添加一個composer.json文件,它不會自動更改當前的TYPO3 PHP文件。我更喜歡手動下載TYPO3和擴展。因此我不想使用作曲家模式。我必須找到一種方法來防止作曲家覆蓋我寫的PHP文件。如何將一個composer.json添加到靜態TYPO3項目中?

我需要一個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及其擴展名,並且不會被任何作曲者命令更新。

回答

2

介紹Composer不使用它的功能對我來說似乎有點奇怪,但是,可以在存儲庫中定義專用版本或提交哈希以禁用更新。

但是,我建議使用波浪號~運算符來啓用對應分支上的更新,例如,自動包含安全更新。對於TYPO3 CMS這種依賴性看起來像下面,停留在7.6分支:

"require": { 
    "typo3/cms": "~7.6.14" 
} 

查找關於如何申報在Composer documentation版本的更多細節。

除此之外,看起來,您根本沒有使用Composer作爲根項目。在您的包裝擴展

  1. 使用作曲家爲擴展require TCPDF並加載生成自動加載的文件(在typo3conf/ext/tcpdf/vendor/autoload.php如)
  2. 直接複製&粘貼:然後,您可以創建TCPDF的包裝推廣使用這些選項之一TCPDF的來源(這似乎是您的情況),並將自動加載信息添加到ext_emconf.php,與之前的ext_autoload.php類似 - 在blog post about class loading中查找有關的詳細信息
相關問題