rame0/yandex-market-object

Yandex Market YML 生成器

0.5.2 2021-03-10 14:24 UTC

This package is auto-updated.

Last update: 2024-09-10 21:36:06 UTC


README

为Yandex Market和其他使用YML格式的Yandex服务生成YML文件的生成器。

此库旨在简化YML文件的创建,并降低生成所需内存消耗,通过选项将数据从内存导出到文件中。

安装

 composer require rame0/yandex-market-object

基本使用

use rame0\Generators\YandexMarket\Category;
use rame0\Generators\YandexMarket\Currency;
use rame0\Generators\YandexMarket\Offer;
use rame0\Generators\YandexMarket\YML;

// Инициализация
$yml = new YML('MyShop', 'MyCorp', 'https://www.site.ru/');
$yml->setDate(strtotime('2021-03-08T17:20:28+00:00'));

// Начало записи
$yml->startYML();

// Добавление валют
$yml->startElement('currencies');
$yml->writeItem(new Currency(Currency::$CUR_RUB));
$yml->endElement();

// Добавление категорий
$yml->startElement('categories');
$yml->writeItem(new Category(1, 'cat1'));
$yml->writeItem(new Category(2, 'cat2'));
$yml->writeItem(new Category(3, 'cat3', 1));
$yml->endElement();

// Добавление оферов
$yml->startElement('offers');
$yml->writeItem(new Offer(1, 'Товар 1', 1));
$yml->writeItem(new Offer(2, 'Товар 2', 2));
$yml->writeItem(new Offer(3, 'Товар 3', 3));
$yml->writeItem(new Offer(4, 'Товар 4', 3));
$yml->writeItem(new Offer(5, 'Товар 5', 1));
$yml->endElement();

// Завершение записи
$yml->endYML();

// Вывод результата
echo $yml->flush();

保存到文件

use rame0\Generators\YandexMarket\YML;

$yml = new YML('MyShop', 'MyCorp', 'https://www.site.ru/');
$yml->setDate(strtotime('2021-03-08T17:20:28+00:00'));


$yml->setOutputFile('./test.yml');

//...

动态保存到文件

use rame0\Generators\YandexMarket\YML;

$yml = new YML('MyShop', 'MyCorp', 'https://www.site.ru/');
$yml->setDate(strtotime('2021-03-08T17:20:28+00:00'));


$yml->setOutputFile('./test.yml');
// Выводить в файл на лету
$yml->setIsOutputOnTheFly(true);
// Выводить через каждые 100 добавленных записей
$yml->setFlushEvery(100);

//...