PHP code example of sirian / yandex-market-language-parser

1. Go to this page and download the library: Download sirian/yandex-market-language-parser library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

sirian / yandex-market-language-parser example snippets


use Sirian\YMLParser\Parser;

$parser = new Parser();
$result = $parser->parse('/path/to/catalog.xml');

$shop = $result->getShop();
echo $shop->getName();

foreach ($shop->getCategories() as $category) {
    echo $category->getId(), ': ', $category->getName(), "\n";
}

foreach ($result->getOffers() as $offer) {
    echo $offer->getId(), ' — ', $offer->getName(), "\n";
}

use Sirian\YMLParser\Factory\Factory;
use Sirian\YMLParser\Model\Offer\Offer;
use Sirian\YMLParser\Parser;

$factory = new class () extends Factory {
    public function createOffer(string $type): Offer
    {
        // return your own subclass
        return parent::createOffer($type);
    }
};

$parser = new Parser($factory);

final class MyOffer extends VendorModelOffer
{
    public function applyField(string $field, string $value): bool
    {
        if ('country_of_origin' === $field) {
            $this->country = $value;
            return true;
        }

        return parent::applyField($field, $value);
    }
}