PHPackages                             localzet/zconf - 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. localzet/zconf

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

localzet/zconf
==============

Zorin Configuration Language Utils

v1.0.3(1y ago)1343MITPHPPHP &gt;=7.1

Since Jun 26Pushed 1y ago1 watchersCompare

[ Source](https://github.com/localzet/zconf)[ Packagist](https://packagist.org/packages/localzet/zconf)[ RSS](/packages/localzet-zconf/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)DependenciesVersions (5)Used By (0)

 [ ![](https://camo.githubusercontent.com/1d36bfd86f5a7f952508689173f06b59982e5f2ceea27b500f8927a70d03b43c/68747470733a2f2f7374617469632e7a6f72696e2e73706163652f6d656469612f6c6f676f732f5a6f72696e50726f6a6563747353502e737667) ](https://www.localzet.com)

 [ ![Скачивания](https://camo.githubusercontent.com/2a506af3b537184c9579bba509c00836eb85bd48401155cdbd12e74815cf4c2c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6c6f63616c7a65742f7a636f6e663f6c6162656c3d254430254131254430254241254430254230254431253837254430254238254430254232254430254230254430254244254430254238254431253846)](https://packagist.org/packages/localzet/zconf) [ ![Коммиты](https://camo.githubusercontent.com/8ce159b9d973284af726b9789bda0058c95955d10209bf9538af6f897c0690d6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6d6d69742d61637469766974792f742f6c6f63616c7a65742f7a636f6e663f6c6162656c3d254430253941254430254245254430254243254430254243254430254238254431253832254431253842)](https://github.com/localzet/zconf) [ ![Версия](https://camo.githubusercontent.com/3e865c611aa16d180ee4f29eb43999196ab0cdfa5b96a73f72a3ae64558a6b80/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c6f63616c7a65742f7a636f6e663f6c6162656c3d254430253932254430254235254431253830254431253831254430254238254431253846)](https://packagist.org/packages/localzet/zconf) [ ![Версия PHP](https://camo.githubusercontent.com/0d8698a478c91830ebd7d32745dde562205414cc4884a0f1f08926572d62b178/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f6c6f63616c7a65742f7a636f6e662f7068703f6c6162656c3d504850)](https://packagist.org/packages/localzet/zconf) [ ![Лицензия](https://camo.githubusercontent.com/5f5b0d2f091929494d8f5f183306f8ea1fd88ec8a6fac30c3c48a645010b311b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6c6f63616c7a65742f7a636f6e663f6c6162656c3d254430253942254430254238254431253836254430254235254430254244254430254237254430254238254431253846)](https://github.com/localzet/zconf)

Zorin Configuration Language (ZCONF) Utils
==========================================

[](#zorin-configuration-language-zconf-utils)

PHP парсер для ZCONF, совместимый с [TOML v0.4.0](https://github.com/toml-lang/toml/releases/tag/v0.4.0).

Установка
---------

[](#установка)

**Требуется PHP &gt;= 7.1.**

Используйте [Composer](http://getcomposer.org/) для установки этого пакета:

```
composer require localzet/zconf
```

Использование
-------------

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

Вы можете разобрать как простую строку ZCONF, так и файл `.zconf`:

Парсинг простой строки ZCONF:

```
use ZCONF\Parser;

$array = Parser::parseString('key = [1,2,3]');

print_r($array);
```

Парсинг файла `.zconf`:

```
use ZCONF\Parser;

$array = Parser::parseFile('example.zconf');

print_r($array);
```

Кроме того, методы `parseString` и `parseFile` принимают второй аргумент под названием `resultAsObject` для возврата результата в виде объекта на основе `stdClass`.

```
$object = Parser::parseString('key = [1,2,3]', true);
```

### Генератор

[](#генератор)

Вы можете сгенерировать строку ZCONF с помощью класса `Builder`. Генератор использует *fluent interface* для более читаемого кода:

```
    use ZCONF\Builder;

    $tb = new Builder();

    $result = $tb->addComment('ZCONF file')
        ->addTable('data.string')
        ->addValue('name', "Ivan", 'Ваше имя, например')
        ->addValue('newline', "Эта строка содержит \n символ новой строки")
        ->addValue('winPath', "C:\\Users\\nodejs\\templates")
        ->addValue('literal', '@') // Строки, начинающиеся с '@'.
        ->addValue('unicode', 'Символ юникода: ' . json_decode('"\u03B4"'))

        ->addTable('data.bool')
        ->addValue('t', true)
        ->addValue('f', false)

        ->addTable('data.integer')
        ->addValue('positive', 25, 'Встроенный комментарий')
        ->addValue('negative', -25)

        ->addTable('data.float')
        ->addValue('positive', 25.25)
        ->addValue('negative', -25.25)

        ->addTable('data.datetime')
        ->addValue('datetime', new \Datetime())

        ->addComment('Работа с массивами')

        ->addTable('data.array')
        ->addValue('simple', array(1,2,3))
        ->addValue('multiple', array(
            array(1,2),
            array('abc', 'def'),
            array(1.1, 1.2),
            array(true, false),
            array( new \Datetime()) ))

        ->addComment('Массивы таблиц')

        ->addArrayOfTable('fruit')                            // Строка
            ->addValue('name', 'apple')
            ->addArrayOfTable('fruit.variety')
                ->addValue('name', 'red delicious')
            ->addArrayOfTable('fruit.variety')
                ->addValue('name', 'granny smith')
        ->addArrayOfTable('fruit')                            // Строка
            ->addValue('name', 'banana')
            ->addArrayOfTable('fruit.variety')
                ->addValue('name', 'plantain')
        ->getString();    // Сгенерировать строку ZCONF
```

Результат:

```
# Файл ZCONF

[data.string]
name = "ZCONF" # Ваше имя, например
newline = "Эта строка содержит \n символ новой строки"
winPath = "C:\\Users\\nodejs\\templates"
literal = ''
unicode = "Символ юникода: δ"

[data.bool]
t = true
f = false

[data.integer]
positive = 25 # Встроенный комментарий
negative = -25

[data.float]
positive = 25.25
negative = -25.25

[data.datetime]
datetime = 2024-06-26T21:12:48Z

# Работа с массивами

[data.array]
simple = [1, 2, 3]
multiple = [[1, 2], ["abc", "def"], [1.1, 1.2], [true, false], [2024-06-26T21:12:48Z]]

# Массивы таблиц

[[fruit]]
name = "apple"

[[fruit.variety]]
name = "red delicious"

[[fruit.variety]]
name = "granny smith"

[[fruit]]
name = "banana"

[[fruit.variety]]
name = "plantain"
```

#### Ограничения

[](#ограничения)

Класс `Builder` - это утилита для получения строк ZCONF, которая имеет следующие ограничения:

- Принимает только `базовые строки` и `литеральные строки`.

Лицензия
--------

[](#лицензия)

Эта библиотека является программным обеспечением с открытым исходным кодом, лицензированным в соответствии с [лицензией MIT](http://opensource.org/licenses/MIT).

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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.

###  Release Activity

Cadence

Every ~0 days

Total

4

Last Release

686d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1d282ce1aff1a09035270ae1fc6da420dc462b8d074b120e231e062becbdcdd2?d=identicon)[localzet](/maintainers/localzet)

---

Top Contributors

[![localzet](https://avatars.githubusercontent.com/u/33757217?v=4)](https://github.com/localzet "localzet (11 commits)")

---

Tags

configiniphptomlzconfparserzconf

### Embed Badge

![Health badge](/badges/localzet-zconf/health.svg)

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

###  Alternatives

[nikic/php-parser

A PHP parser written in PHP

17.4k902.6M1.8k](/packages/nikic-php-parser)[doctrine/lexer

PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.

11.2k910.8M118](/packages/doctrine-lexer)[erusev/parsedown

Parser for Markdown.

15.0k151.8M732](/packages/erusev-parsedown)[league/commonmark

Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)

2.9k404.0M702](/packages/league-commonmark)[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M229](/packages/masterminds-html5)[sabberworm/php-css-parser

Parser for CSS Files written in PHP

1.8k191.2M65](/packages/sabberworm-php-css-parser)

PHPackages © 2026

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