在composer_autoload中指定多个资源/程序包

时间:2019-01-31 18:49:25

标签: codeigniter composer-php

我在$config['composer_autoload] = 'vendor/autoload.php';

中提供了路径

然后在autoload.php文件中插入两个我需要使用的软件包:

require_once __DIR__ . '/phpspreadsheet/composer/autoload_real.php';
require_once __DIR__ . '/phptcpdf/composer/autoload_real.php';

return ComposerAutoloaderInit9d1bd4a6e5194a15c3a7fbbedd5e69dc::getLoader();
return ComposerAutoloaderInitd3643b2c089f2f5cb6ea7ae57abe30b2::getLoader();

以某种方式仅加载phpspreadsheet,而tcpdf显示未找到类TCPDF。

请帮助。

TIA

1 个答案:

答案 0 :(得分:0)

由于前一行中的return,因此不会执行第二次自动加载程序初始化。所以最后一行被忽略了-难怪TCPDF自动加载器不起作用:

尝试类似的东西:

require_once __DIR__ . '/phpspreadsheet/composer/autoload_real.php';
require_once __DIR__ . '/phptcpdf/composer/autoload_real.php';

ComposerAutoloaderInit9d1bd4a6e5194a15c3a7fbbedd5e69dc::getLoader();
ComposerAutoloaderInitd3643b2c089f2f5cb6ea7ae57abe30b2::getLoader();

您无需返回自动加载器,只需调用getLoader()即可初始化自动加载器。

另外请注意,在自动加载的类名这个奇怪的哈希可能改变 - 你应该包括autoload.php,而不是autoload_real.php(如果可用),这可能会麻烦您节省在每个后固定名称更新。