ckdot / awin-product-sdk
一个用于从Awin抓取产品数据的非官方PHP SDK。
0.0.2
2018-09-01 13:10 UTC
Requires
- php: ^7.0
- ext-mbstring: *
- ext-zlib: *
- guzzlehttp/guzzle: ^6.3
- symfony/cache: ^4.1
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实例的内存限制设置为合适的值。
文档
没有文档。如果您想详细了解其工作原理,请阅读代码。