如何避免致命错误“;无法重新声明类";使用两个不同的第三方脚本


How to avoid Fatal Error "Cannot redeclare class .." with two different third party scripts

我必须为prestashop创建一个支付模块。这个模块使用paypal adaptivepayments sdk,它试图定义一个名为"Address"的类。但prestashop本身也定义了一个具有此名称的类。所以贝宝sdk总是失败。

首先,我认为我可以用名称空间来解决它,但我认为我必须编辑所有的贝宝sdk文件。但我不想接触prestashop或贝宝sdk文件。我的下一个想法是用一个单独的http请求来封装它,但我想避免这种情况,因为在我看来,这是一种糟糕的做法。

有没有封装sdk的方法?或者有其他方法可以解决这个问题吗?

提前感谢

快速解决方案:

composer install

在sdk目录中,然后是

require 'adaptivepayments-sdk-php/vendor/autoload.php';