brandon / nbt
一个将NBT数据解析为原生PHP类型的NBT解析器
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-21 10:32:28 UTC
README
NBT to PHP 允许您将NBT数据转换为PHP数据类型,以便在PHP程序中轻松使用。
介绍
由于该程序将NBT数据转换为原生PHP数据类型,因此目前没有将数据转换回NBT数据的方法,因为PHP的数据类型比NBT少。
没有PHP到NBT转换器的优点是,这个库非常轻量级,在需要只读功能的应用程序中表现良好,如从API或文件中读取。
将数据转换为PHP数据类型的方法的优点是,使用 print_r
显示和读取输出非常容易。
安装
Composer
可以使用 Composer 下载此库。例如,您可以将以下内容添加到您的 composer.json
文件中。
{ "require": { "brandon/nbt": "*" } }
建议将 *
替换为版本约束。
Git
从GitHub直接下载有几种方法,所需文件仅为 NBT.php
。
- 通过 https://raw.githubusercontent.com/BrandonXLF/NBT.php/master/NBT.php 下载
NBT.php
- 使用
git clone https://github.com/BrandonXLF/NBT.php
克隆仓库 - 从GitHub下载代码
下载后,要使用此库,请使用
require 'NBT.php';
文档
目前,此库中的所有函数都是静态的,这意味着不需要创建NBT类型的新对象,但您可以。
您应该访问三个主要函数,分别是 NBT::readFile
、NBT::readString
和 NBT::readStream
。
NBT::readFile
NBT::readFile
用于从文件中读取NBT数据。
NBT::readFile( string $filename, string $wrapper = 'compress.zlib://' ) : array
参数
- $filename - 要读取的文件名
- $wrapper - 用于读取文件的包装器,默认为
compress.zlib://
。将包装器更改为file://
以读取未压缩的文件。
返回
一个包含转换为PHP的NBT数据的数组。
NBT::readString
NBT::readString
用于从字符串中读取NBT数据。
NBT::readString( string $str ) : array
参数
- $str - 包含二进制未压缩NBT数据的字符串。如果您需要读取压缩数据,可能需要使用
gzdecode
首先解压缩字符串。
返回
一个包含转换为PHP的NBT数据的数组。
NBT::readStream
NBT::readStream
用于从文件流中读取NBT数据。
NBT::readStream( resource $stream ) : array
参数
- $str - 包含要读取NBT数据的二进制文件流。
返回
一个包含转换为PHP的NBT数据的数组。
NBT::readTag
NBT::readTag
用于从文件流中读取NBT标签。
NBT::readTag( int $type, resource $stream ) : mixed
参数
- $type - NBT标签类型的ID。建议使用NBT.php顶部定义的常量之一。
- $stream - 要读取的文件流。
返回
读取的NBT数据作为PHP数据,返回类型取决于 $type
参数。
测试
此脚本的测试可以在 tests/test.php
php文件中找到。您可以通过运行 php tests/test.php
来测试此脚本。