PHPackages                             pathologic/commerceml - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. pathologic/commerceml

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

pathologic/commerceml
=====================

Library for CommerceML 2.0 parser

20PHP

Since Jun 18Pushed 2y agoCompare

[ Source](https://github.com/Pathologic/commerceml)[ Packagist](https://packagist.org/packages/pathologic/commerceml)[ RSS](/packages/pathologic-commerceml/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

PHP CommerceML 2
================

[](#php-commerceml-2)

### О библиотеке

[](#о-библиотеке)

Данная библиотека предназначена для поточного разбора выгруженных из 1с файлов по стандарту Commerce ML 2.

Сам парсер представляет собой диспетчер событий, т.е. при нахождении в структуре Commerce ML 2 объекта нужной структуры, диспетчером вызывается определенной событие и в него передается уже сформированные по модельной структуре объект.

На данный момент существует 7 основных событий:

- получение Владельца;
- получение Категории;
- получение Предложения;
- получение Категории Цен;
- получение Склада;
- получение Товара;
- получение Свойства товара.

### Простое использование парсера:

[](#простое-использование-парсера)

```
$parser = \CommerceMLParser\Parser::getInstance(); // парсер
// Парсер с кастомной фабрикой
// $parser = \CommerceMLParser\Parser::getInstance(new CustomFactory());

// Слушаем событие получения Категории
$parser->addListener("CategoryEvent", function (\CommerceMLParser\Event\CategoryEvent $categoryEvent) {
    $categories = $categoryEvent->getCategory()->fetch(); // array of Category
}); // добавление функции обработки события CategoryEvent

// Парсим файл XML
$parser->parse($pathToImportXmlFile); // полный путь до файла import.xml (Commerce ML 2) выгрузки из 1с
```

###  Health Score

13

—

LowBetter than 1% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity19

Early-stage or recently created project

 Bus Factor1

Top contributor holds 78.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/b5dd38492b8e12369bbfa11b1f76bc5be4178fe78aafcd4d5aa6151dec699801?d=identicon)[Pathologic](/maintainers/Pathologic)

---

Top Contributors

[![gillbeits](https://avatars.githubusercontent.com/u/625954?v=4)](https://github.com/gillbeits "gillbeits (48 commits)")[![karakum](https://avatars.githubusercontent.com/u/12033941?v=4)](https://github.com/karakum "karakum (4 commits)")[![Pathologic](https://avatars.githubusercontent.com/u/3012304?v=4)](https://github.com/Pathologic "Pathologic (4 commits)")[![xtkach](https://avatars.githubusercontent.com/u/12064652?v=4)](https://github.com/xtkach "xtkach (4 commits)")[![Metallizzer](https://avatars.githubusercontent.com/u/691719?v=4)](https://github.com/Metallizzer "Metallizzer (1 commits)")

### Embed Badge

![Health badge](/badges/pathologic-commerceml/health.svg)

```
[![Health](https://phpackages.com/badges/pathologic-commerceml/health.svg)](https://phpackages.com/packages/pathologic-commerceml)
```

###  Alternatives

[mck89/peast

Peast is PHP library that generates AST for JavaScript code

19139.2M45](/packages/mck89-peast)[sauladam/shipment-tracker

Parses tracking information for several carriers, like UPS, USPS, DHL and GLS by simply scraping the data. No need for any kind of API access.

9843.5k](/packages/sauladam-shipment-tracker)[jstewmc/rtf

Read and write Rich Text Format (RTF) documents with PHP

45153.1k6](/packages/jstewmc-rtf)[tcds-io/php-jackson

A lightweight, flexible object serializer for PHP, inspired by FasterXML/jackson

113.2k10](/packages/tcds-io-php-jackson)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
