定制 workbunny/mysql-protocol 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

workbunny/mysql-protocol

最新稳定版本:0.0.2

Composer 安装命令:

composer require workbunny/mysql-protocol

包简介

The MySQL protocol implemented by PHP

README 文档

README

workbunny

workbunny/mysql-protocol

🐇 A PHP implementation of MySQL Protocol. 🐇

A PHP implementation of MySQL Protocol

安装

依赖

  • PHP >= 8.1
  • workerman >= 4.0 【可选,workerman环境】

安装

composer require workbunny/mysql-protocol

使用

Binary 二进制流

  • Binary提供了二进制流和字节组之间的互转能力(注:PHP是二进制安全语言)
  • Binary提供了基础的字节组读写操作能力,读写操作的指针相互隔离,读写指针默认从0位开始
  • payload支持传递字符串字节数组iterable类型的字节组null
use Workbunny\MysqlProtocol\Utils\Binary;

$binary = new Binary("workbunny");
# 输出字节组
$binary->unpack();
# 输出字符串(输入明文则返回明文,输入二进制数据则返回二进制)
$binary->pack();
# 输出原始负载
$binary->payload();

  • 默认以0位开始,每次操作都会递增相应字节位置
use Workbunny\MysqlProtocol\Utils\Binary;

$binary = new Binary("workbunny");

# 设置读取指针
$binary->setReadCursor();
# 获取读取指针
$binary->getReadCursor();

# 读取一个字节
$binary->readByte();
# 读取多个字节
$binary->readBytes();
# 读取一个整数(长度编码)
$binary->readLenEncInt();
# 读取一个字符串(长度编码)
$binary->readLenEncString();
# 读取一个无符号整数(长度编码)
$binary->readUB();
# 读取一个字符串(以NULL结束)
$binary->readNullTerminated();

  • 默认以0位开始,每次操作都会递增相应字节位置
use Workbunny\MysqlProtocol\Utils\Binary;

$binary = new Binary();

# 设置写指针
$binary->setWriteCursor();
# 获取写取指针
$binary->getWriteCursor();

# 写一个字节
$binary->writeByte();
# 写多个字节
$binary->writeBytes();
# 写一个整数(长度编码)
$binary->writeLenEncInt();
# 写一个字符串(长度编码)
$binary->writeLenEncString();
# 写一个无符号整数(长度编码)
$binary->writeUB();
# 写一个字符串(以NULL结束)
$binary->writeNullTerminated();

Packet 协议包

  • Packet提供了MySQL协议基础的二进制包数据的解析与封装能力
  • Packet提供PacketInterface自定义实现
  • 默认13种Packet覆盖了常见MySQL交互动作

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 15
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 15
  • Watchers: 0
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2025-05-06