koriiym / var-type
0.1.0
2024-07-04 18:05 UTC
Requires
- php: ^8.0
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.8
- phpunit/phpunit: ^9.6.19
README
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 使用以下语法来表示不同类型
- 标量类型:
int
、float
、bool
、string
、null
- 数组
- 索引数组:
array<type1|type2|...>
- 关联数组(数组形状):
array{key1: type1, key2: type2, ...}
- 索引数组:
- 对象(类似数组):
ClassName{property1: type1, property2: type2, ...}
为什么选择 VarType?
-
增强静态分析:VarType 提供了详细类型信息,可用于像 Psalm 和 PHPStan 这样的工具进行更精确的静态分析。
-
改进 IDE 支持:VarType 生成的详细类型字符串可以增强 IDE 自动完成和类型推断,使开发更高效。
-
详细类型信息:虽然 PHP 的内置函数可以提供基本类型信息,但 VarType 提供了更详细类型表示,包括类似数组和数组形状。
-
调试辅助:快速了解复杂变量的结构,包括嵌套的类似数组和数组形状。
-
文档:为 API 或函数参数生成精确的类型信息,提高代码的可读性和可维护性。
VarType - 释放 PHP 类型信息的全部潜力!