[英]Set class that extends TCPDF
在Symfony中,我使用TCPDF包創建PDF文檔,並通過composer安裝了它。 在生產中使用TCPDF
類之前,需要對其進行一些修改,因此我創建了MyPDF
類,該類擴展了TCPDF
類,並與原始類存儲在同一文件中( Symfony-project/vendor/tecnick.com/tcpdf/tcpdf.php
)。
問題是,每次我更新作曲家並安裝新版本的TCPDF軟件包時,文件tcpdf.php
都會被替換,因此MyPDF
類消失了。 創建和存儲此類的最佳實踐是什么?
您不應在vendor/
目錄中工作。 僅保留用於外部代碼。 您可以執行以下操作:
您可以創建擴展TCPDF類的服務 。 這是我使用此存儲庫的服務定義:
<service id="pdfgenerator" class="TCPDF"> <file>%kernel.root_dir%/../vendor/r1pp3rj4ck/tcpdf/tcpdf.php</file> <argument key="orientation">P</argument> <argument key="unit">mm</argument> <argument key="format">A4</argument> </service>
您可以根據需要擴展此服務。
有關如何派生存儲庫的信息,請參見Github HowTo 。 擁有自己的叉子后,您可以根據需要編輯代碼。 完成並准備好存儲庫后,只需包括自己的存儲庫即可,而不是當前的TCPDF存儲庫。 有關更多信息,請參見作曲家文檔 。 您應該在composer.json
添加以下內容:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/..."
}
],
"require": {
".../tcpdf": "dev-master"
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.