caponica / amazon-mws-bundle
Symfony2服务包装器,用于Amazon MWS PHP API
v0.0.2
2016-04-18 00:00 UTC
Requires
- php: >=5.3.2
- caponica/amazon-mws-complete: ~1.0
- symfony/symfony: >=2.1.x-dev
This package is auto-updated.
Last update: 2024-08-29 04:19:53 UTC
README
通过Symfony服务集成Amazon MWS。
安装
使用composer安装,在composer.json
文件的require
部分添加以下内容
"require": { ... "caponica/amazon-mws-bundle": "dev-master" },
在您的kernel中注册bundle
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Caponica\AmazonMwsBundle\CaponicaAmazonMwsBundle(), ); }
配置
默认情况下,此bundle不会向您的项目添加服务。要添加服务,您需要定义参数以及服务本身。
要访问多个市场,创建多个服务(每个市场一个)。最简单的方法是使用参数(如下所示),但您可以使用任何您喜欢的方法来加载相关配置参数并将它们传递给setConfig。
# app/config/parameters.yml caponica_amazon_mws_config_de: seller_id: your_seller_id_de access_key: your_access_key_de secret_key: your_secret_key_de application_name: your_app_name application_version: 1.0 amazon_site: DE caponica_amazon_mws_config_uk: seller_id: your_seller_id_uk access_key: your_access_key_uk secret_key: your_secret_key_uk application_name: your_app_name application_version: your_app_version amazon_site: UK
# services.yml caponica_mws_client_pool_de: class: %caponica_amazon_mws.client_pool.class% calls: - [ setConfig, [ %caponica_amazon_mws_config_de% ]] arguments: - '@your_logger' # optional Logger, see caponica/amazon-mws-complete docs caponica_mws_client_pool_uk: class: %caponica_amazon_mws.client.class% calls: - [ setConfig, [ %caponica_amazon_mws_config_uk% ]]
通常,同一地区的多个市场将共享单个配置。在这些情况下,您可以使用siteCode
配置参数重用相同的配置
# app/config/parameters.yml caponica_amazon_mws_config_europe: seller_id: your_seller_id_europe access_key: your_access_key_europe secret_key: your_secret_key_europe application_name: your_app_name application_version: 1.0 amazon_site: DE # just set one valid site here
# services.yml caponica_mws_client_pool_de: class: %caponica_amazon_mws.client_pool.class% calls: - [ setConfig, [ %caponica_amazon_mws_config_europe%, 'DE' ]] caponica_mws_client_pool_uk: class: %caponica_amazon_mws.client.class% calls: - [ setConfig, [ %caponica_amazon_mws_config_europe%, 'UK' ]]
使用方法
要访问服务,只需引用上面定义的服务名称。例如,从控制器中
/** @var CaponicaAmazonMwsComplete\ClientPool\MwsClientPool $mwsClientPoolUk */
$mwsClientPoolUk = $this->container->get('caponica_mws_client_pool_uk');
$mwsProductClientPackUk = $mwsClientPoolUk->getProductClientPack();