rame0 / yandex-market-object
Yandex Market YML 生成器
0.5.2
2021-03-10 14:24 UTC
Requires
- php: ^7.4 || ^8.0
- ext-xmlwriter: *
Requires (Dev)
- phpunit/phpunit: ^9.5
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); //...