亚马逊的MWS PHP客户端库只是一个没有任何命名空间的zip文件,有没有办法将这个库与Laravel应用程序一起使用,或者使用任何使用composer进行依赖关系管理的应用程序。
答案 0 :(得分:2)
当然,只需在Laravel应用程序中创建自己的库目录。我通常将我的内容放在app
目录中,并将其命名为Libraries
。将源文件转储到AmazonMWS
。
.config.inc.php
附带自动加载器,但不会使用。相反,您可以在Laravel项目中打开composer.json
并告诉它自动加载针对配置的新Library目录。例如:
"autoload-dev": {
"classmap": [
"app/Libraries/AmazonMWS/Client.php"
]
}
确保config.inc.php
root可以访问AmazonMWS
。
然后运行composer dump-autoload
以重新生成自动加载器。如果操作正确,那么您应该能够在没有命名空间的情况下实例化任何MWS类。
在您的控制器中,包含以下use
:
use \MarketplaceWebServiceProducts_Client;
现在您可以按预期呼叫您的服务:
$config = [...];
$service = new MarketplaceWebServiceProducts_Client(
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
APPLICATION_NAME,
APPLICATION_VERSION,
$config);
或者只是省略use \MarketplaceWebServiceProducts_Client;
并直接使用名称空间前缀进行实例化,这是您的选择。