PHPackages                             wei-breeze/breeze - 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. wei-breeze/breeze

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

wei-breeze/breeze
=================

cross-language serialization for PHP

v0.1.0(6y ago)31.1k1Apache-2.0PHPPHP &gt;=5.6.0

Since Jun 6Pushed 6y ago1 watchersCompare

[ Source](https://github.com/weibreeze/breeze-php)[ Packagist](https://packagist.org/packages/wei-breeze/breeze)[ Docs](https://github.com/weibreeze/breeze-php)[ RSS](/packages/wei-breeze-breeze/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (2)Dependencies (1)Versions (4)Used By (1)

Breeze-PHP
==========

[](#breeze-php)

[![License](https://camo.githubusercontent.com/a549a7a30bacba7bfceebdc207a8e86c3f2c02995a2527640dca30048fd2b64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d417061636865253230322e302d626c75652e737667)](https://github.com/weibreeze/breeze-php/blob/master/LICENSE)[![Build Status](https://camo.githubusercontent.com/11931cffe36a26cd9a73e0f4d06600e96e5e63d362bc9cc0d493d754c2091584/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f776569627265657a652f627265657a652d7068702f6d61737465722e7376673f6c6162656c3d4275696c64)](https://travis-ci.org/weibreeze/breeze-php)[![Latest Stable Version](https://camo.githubusercontent.com/1e80ccba152268348b0ef262f84f098f6dedb452fcd0aaa49793fd5b7b7239bf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7765692d627265657a652f627265657a652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/wei-breeze/breeze)

概述
==

[](#概述)

Breeze-PHP是[Breeze](https://github.com/weibreeze/breeze)序列化的php实现.

快速入门
====

[](#快速入门)

添加composer依赖
------------

[](#添加composer依赖)

在composer.json中添加依赖：

```
  "require" : {
    "wei-breeze/breeze": "v0.1.0"
  }
```

使用breeze
--------

[](#使用breeze)

1. 基础类型编解码

```
    // 编码
    $buf = new Buffer();
    BreezeWriter::writeString($buf, 'test string');
    //解码
    $newBuf = new Buffer($buf->buffer());
    $r = TypeString::instance()->read($newBuf);
    var_dump($r);
```

2. 集合类型编解码

```
    $buf = new Buffer();
    $tp = new TypePackedMap(TypeInt32::instance(), TypeString::instance());
    BreezeWriter::writeMap($buf, [123 => 'erw', 45 => 'wer', 657 => 'terd'], $tp->getElemType()[0], $tp->getElemType()[1]);
    //解码
    $newBuf = new Buffer($buf->buffer());
    $r = $tp->read($newBuf);
    var_dump($r);
```

3. Breeze Message编解码

```
    $msg = new TestMsg();
    $msg->setMyInt(1234);
    $msg->setMyString('ewjo3**#J');

    $subMsg = new TestSubMsg();
    $subMsg->setMyString('J(*#^H');
    $subMsg->setMyInt(-345);
    $subMsg->setMyBool(true);
    $subMsg->setMyBytes(pack('N', 2435));
    $subMsg->setMyInt64(723847289347398);
    $subMsg->setMyArray([234, 5467, -678, 0]);
    $subMsg->setMyMap1(['j(*&*(' => 'fj98A)', 'J()*#' => pack('l', -4578)]);
    $subMsg->setMyMap2([234 => [-45, 0], 3465 => [0, 345]]);

    $msg->setMyArray([$subMsg]);
    // 编码
    $buf = new Buffer();
    $tp = new TypeMessage(new TestMsg(false));
    BreezeWriter::writeValue($buf, $msg, $tp);
    //解码
    $newBuf = new Buffer($buf->buffer());
    $r = $tp->read($newBuf);
    var_dump($r);

    //直接编码
    $buf = new Buffer();
    $msg->writeTo($buf);

    //直接解码
    $newBuf = new Buffer($buf->buffer());
    $r = new TestMsg();
    $r->readFrom($newBuf);
    var_dump($r);
```

4. 任意类型编解码(不使用BreezeType指定类型)

```
    //编码
    $v = 1234;
    $buf = new Buffer();
    BreezeWriter::writeValue($buf, $v);
    //解码
    $newBuf = new Buffer($buf->buffer());
    $r = BreezeReader::readValue($newBuf);
    var_dump($r);
```

更多demo请参考[单元测试](https://github.com/weibreeze/breeze-php/blob/master/tests/Breeze/BreezeWriterReaderTest.php)

使用Breeze Schema 生成Message类
--------------------------

[](#使用breeze-schema-生成message类)

参见[breeze-generator](https://github.com/weibreeze/breeze-generator)

Breeze协议说明
----------

[](#breeze协议说明)

参考[Breeze协议说明](https://github.com/weibreeze/breeze/wiki/zh_protocol)

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 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 ~179 days

Total

2

Last Release

2401d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2917437?v=4)[Ray](/maintainers/rayzhang0603)[@rayzhang0603](https://github.com/rayzhang0603)

---

Top Contributors

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

---

Tags

serializemulti-language

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/wei-breeze-breeze/health.svg)

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

###  Alternatives

[opis/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary data.

2.6k233.3M315](/packages/opis-closure)[zumba/json-serializer

Serialize PHP variables, including objects, in JSON format. Support to unserialize it too.

125770.3k15](/packages/zumba-json-serializer)[pmjones/throwable-properties

Copies properties of a Throwable to a serializable object.

1556.8k2](/packages/pmjones-throwable-properties)[arokettu/bencode

BitTorrent's Bencode encoder/decoder

2717.7k8](/packages/arokettu-bencode)

PHPackages © 2026

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