caponica / amazon-mws-bundle

Symfony2服务包装器,用于Amazon MWS PHP API

安装: 959

依赖者: 0

建议者: 0

安全性: 0

星星: 3

关注者: 2

分支: 1

开放问题: 1

语言:Twig

类型:symfony-bundle

v0.0.2 2016-04-18 00:00 UTC

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();