koriiym/var-type

0.1.0 2024-07-04 18:05 UTC

This package is auto-updated.

Last update: 2024-09-07 07:12:09 UTC


README

Continuous Integration

var type logo

VarType 是一个强大的 PHP 库,可以从 PHP 变量生成详细类型信息,重点在于生成“类似对象的数组”和“数组形状”表示。它旨在增强静态分析能力,并改善 IDE 自动完成和类型推断。

特性

  • 为任何 PHP 变量生成详细类型信息
  • 生成“类似对象的数组”和“数组形状”表示
  • 支持数组、对象和标量类型
  • 区分索引数组和关联数组(数组形状)
  • 递归分析嵌套结构
  • 与 Psalm 和 PHPStan 等静态分析工具兼容
  • 增强 IDE 自动完成和类型预测

安装

使用 Composer 安装 VarType

composer require --dev koriym/var-type

使用方法

以下是 VarType 作用的一个快速示例

use Koriym\VarType\VarType;

$data = [
    'user' => [
        'name' => 'John Doe',
        'age' => 30,
        'skills' => ['PHP', 'JavaScript', 'Python'],
    ],
    'settings' => (object)['theme' => 'dark', 'notifications' => true]
];

VarType::dump($data);

这将输出

array{user: array{name: string, age: int, skills: array<string>}, settings: stdClass{theme: string, notifications: bool}}

高级使用

您还可以将 VarType 类用作可调用的

$varType = new VarType();
echo $varType($data);

类型表示

VarType 使用以下语法来表示不同类型

  • 标量类型:intfloatboolstringnull
  • 数组
    • 索引数组:array<type1|type2|...>
    • 关联数组(数组形状):array{key1: type1, key2: type2, ...}
  • 对象(类似数组):ClassName{property1: type1, property2: type2, ...}

为什么选择 VarType?

  1. 增强静态分析:VarType 提供了详细类型信息,可用于像 Psalm 和 PHPStan 这样的工具进行更精确的静态分析。

  2. 改进 IDE 支持:VarType 生成的详细类型字符串可以增强 IDE 自动完成和类型推断,使开发更高效。

  3. 详细类型信息:虽然 PHP 的内置函数可以提供基本类型信息,但 VarType 提供了更详细类型表示,包括类似数组和数组形状。

  4. 调试辅助:快速了解复杂变量的结构,包括嵌套的类似数组和数组形状。

  5. 文档:为 API 或函数参数生成精确的类型信息,提高代码的可读性和可维护性。

VarType - 释放 PHP 类型信息的全部潜力!