使用 Composer 安装时如何配置 tcpdf?
How to configure tcpdf when installing with Composer?
我们的遗留 PHP 代码包括 tcpdf (https://github.com/tecnickcom/TCPDF) 作为代码库的一部分。
我正在尝试将其移出到 vendor
文件夹,因此我将 Composer 添加到项目中,将 TCPDF 添加到 composer.json
并进行了更新。
但是 config/tcpdf_config.php
文件在我们的代码库中被修改(自定义 PDF 作者姓名等),根据文档,这是正确的:http://www.tcpdf.org/installation.php
现在,我不确定修改 vendor/tecnick.com/tcpdf/config/tcpdf_config.php
是否是个好主意,因为它可能会在我更新时被 Composer 覆盖。另外,tcpdf 文档中没有关于 Composer 的字眼。
在允许 Composer 更新的同时配置 tcpdf(或通过 Composer 使用的任何第三方库)的正确解决方案是什么?
您应该注入配置的方式是在接触第一个 TCPDF 之前先定义所有常量 class。
确保也将常量 K_TCPDF_EXTERNAL_CONFIG
设置为 true。这将阻止自动配置搜索您正在谈论的文件。 (在此处查看此文件的第 60 行:http://sourceforge.net/p/tcpdf/code/ci/master/tree/tcpdf_autoconfig.php)
这很好地隐藏在文档中,但我发现了这个:http://www.tcpdf.org/doc/code/example__019_8php.html
如何使用 Composer 覆盖 TCPDF 配置
- 将原始
tcpdf_config.php
复制到您的项目的某处,例如 src/tcpdf_config.php
。
- 在配置副本的开头添加
define('K_TCPDF_EXTERNAL_CONFIG', true);
,然后根据需要修改配置的其余部分。
- 编辑您的
composer.json
和 add/update autoload
部分:
...
"autoload": {
...
"files": [
"src/tcpdf_config.php",
...
]
}
...
- 使用
composer dump-autoload
. 重新生成作曲家自动加载器
我们的遗留 PHP 代码包括 tcpdf (https://github.com/tecnickcom/TCPDF) 作为代码库的一部分。
我正在尝试将其移出到 vendor
文件夹,因此我将 Composer 添加到项目中,将 TCPDF 添加到 composer.json
并进行了更新。
但是 config/tcpdf_config.php
文件在我们的代码库中被修改(自定义 PDF 作者姓名等),根据文档,这是正确的:http://www.tcpdf.org/installation.php
现在,我不确定修改 vendor/tecnick.com/tcpdf/config/tcpdf_config.php
是否是个好主意,因为它可能会在我更新时被 Composer 覆盖。另外,tcpdf 文档中没有关于 Composer 的字眼。
在允许 Composer 更新的同时配置 tcpdf(或通过 Composer 使用的任何第三方库)的正确解决方案是什么?
您应该注入配置的方式是在接触第一个 TCPDF 之前先定义所有常量 class。
确保也将常量 K_TCPDF_EXTERNAL_CONFIG
设置为 true。这将阻止自动配置搜索您正在谈论的文件。 (在此处查看此文件的第 60 行:http://sourceforge.net/p/tcpdf/code/ci/master/tree/tcpdf_autoconfig.php)
这很好地隐藏在文档中,但我发现了这个:http://www.tcpdf.org/doc/code/example__019_8php.html
如何使用 Composer 覆盖 TCPDF 配置
- 将原始
tcpdf_config.php
复制到您的项目的某处,例如src/tcpdf_config.php
。 - 在配置副本的开头添加
define('K_TCPDF_EXTERNAL_CONFIG', true);
,然后根据需要修改配置的其余部分。 - 编辑您的
composer.json
和 add/updateautoload
部分:
...
"autoload": {
...
"files": [
"src/tcpdf_config.php",
...
]
}
...
- 使用
composer dump-autoload
. 重新生成作曲家自动加载器