ckdot/awin-product-sdk

一个用于从Awin抓取产品数据的非官方PHP SDK。

0.0.2 2018-09-01 13:10 UTC

This package is not auto-updated.

Last update: 2024-09-18 21:26:30 UTC


README

一个用于从Awin抓取产品数据的非官方PHP SDK。

安装

composer require ckdot/awin-product-sdk

使用方法

<?php
use AwinProductSdk\ValueObjects\Advertiser;
use AwinProductSdk\ValueObjects\Product;

require_once 'vendor/autoload.php';

$apiKey = 'your-api-key';
$factory = new \AwinProductSdk\Factory\Factory();
$config = new \AwinProductSdk\ValueObjects\Config(
    'https://productdata.awin.com/datafeed/list/apikey/' . $apiKey,
    new \Symfony\Component\Cache\Simple\FilesystemCache()
);
$aWin = $factory->createFacade($config);


$advertisers = $aWin->getAdvertisers();
$activeAdvertisers = $aWin->filterAdvertisers(Advertiser::KEY_STATUS, 'active', $advertisers);

/**
 * @var Advertiser $advertiser
 */
foreach ($activeAdvertisers as $index => $advertiser) {
    $products = $aWin->getProducts($advertiser);
    $shirts   = $aWin->filterProductsByRegExp(Product::KEY_NAME, '/shirt/i', $products);

    echo $advertiser->getId().': ' . $advertiser->getName() .PHP_EOL;

    /**
     * @var Product $shirt
     */
    foreach ($shirts as $shirt) {
        echo '- ' . $shirt->getId() . ': ' . $shirt->getName().PHP_EOL;
    }
}

工作原理

该SDK使用Awin产品数据CSV文件来读取广告商和产品数据。基本上,这些数据的解析速度相当快,但您仍应意识到某些产品数据的大小可能达到几兆字节。因此,我建议您通过SDK在后台(cronjob)获取数据,并将它们存储到自己的数据库中。请确保将您的PHP实例的内存限制设置为合适的值。

文档

没有文档。如果您想详细了解其工作原理,请阅读代码。

许可证

MIT: https://en.wikipedia.org/wiki/MIT_License