haringsrob/icecat

Icecat data fetching class

1.1.0 2021-10-07 10:38 UTC

This package is auto-updated.

Last update: 2024-04-07 15:45:58 UTC


README

Build Status Code Climate

Icecat is a PHP library, that assists you in the following 2 procedures:

  • Fetching data from the Icecat database using basic product information.
  • Parsing this data from the Icecat response, and using them in real life applications.

About Icecat

Icecat is an open catalog, providing free access to thousands of product datasheets. In extend, when taking a subscription, the amount of accessible datasheets are increased.

There is a list of Icecat sponsor brands.

Installation

The library can be installed using composer:

"haringsrob/icecat": "dev-master"

Usage

The class library is, in it's current state easy to be used.

Result

The Icecat class is responsible for parsing the data. It includes a few basic methods, but you can easily create your own implementation by implementing the IcecatInterface interface.

// Use the class.
use haringsrob\Icecat\Model\Result;

// See IcecatFetcher on how to get data or implement your own way.
$data = $fetcher->getBaseData();

// Initialize.
$icecat = new Result($data);

// Brand name. e.g.: Acer
$icecat->getSupplier();

// Long description of the product.
$icecat->getLongDescription();

// Short description.
$icecat->getShortDescription();

// The category the product belongs to. e.g.: Notebooks
$icecat->getCategory();

// Returns maximum 5 images about the product (optional limit).
$icecat->getImages(5);

// Returns key => value array with specifications. e.g: ['cpu' => 'Core I5', 'screensize' => '15.6']
$icecat->getSpecs();

// Returns array with videos of the product.
$icecat->getVideos();

// Returns array with manuals.
$icecat->getManuals();

// Returns array with 360 images.
$icecat->get360imageArray();

// Returns array with Reasons to Buy.
$icecat->getReasonsToBuy();

Demo is soon available.

Fetcher

The IcecatFetcher is responsible for fetching the data from the database.

// Use the class.
use haringsrob\Icecat\Model\Fetcher;

// Inititialize.
$fetcher = new Fetcher(
    'Username',
    'Password',
    'Ean',
    'Language'
);

// Fetch the actual data.
$data = $fetcher->fetchBaseData();

Integrations

Drupal module under active development.