brandon/nbt

一个将NBT数据解析为原生PHP类型的NBT解析器

v1.0.0 2020-10-21 01:37 UTC

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

下载后,要使用此库,请使用

require 'NBT.php';

文档

目前,此库中的所有函数都是静态的,这意味着不需要创建NBT类型的新对象,但您可以。

您应该访问三个主要函数,分别是 NBT::readFileNBT::readStringNBT::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 来测试此脚本。