mindplay / readable
将 PHP 值格式化为可读字符串
1.2.2
2024-03-10 15:25 UTC
Requires
- php: ^8.0
Requires (Dev)
- mindplay/testies: ^1.1.2
- phpunit/php-code-coverage: ^9 || ^10 || ^11
This package is auto-updated.
Last update: 2024-09-10 16:34:48 UTC
README
一些简单的函数,可以将任何类型的 PHP 值或类型格式化为可读形式。
主要目的是帮助您生成更好的错误消息
if (!is_int($value)) { throw new UnexpectedValueException("expected integer, got: " . readable::typeof($value)); } else if ($value > 100) { throw new RangeException("expected value up to 100, got: " . readable::value($value)); }
注意,这个库不是“更好的 var_dump” - 它不会给事物着色或打印深层的对象图。对于这类事情,有大量的其他库。
目前,这个库包括以下简单的函数
readable::value($value)将任何单个 PHP 值格式化为可读。readable::values($array)将一组(混合)值格式化为可读。readable::typeof($value)返回给定值的类型(或类名)。readable::callback($callable)将任何callable格式化为可读。readable::severity($int)返回例如E_WARNING为可读的"Warning"。readable::error($exception)返回一个可读的Exception/Error摘要。readable::trace($trace)格式化带有文件名、行号、函数名和(可选)参数的堆栈跟踪。readable::path($path)从路径的开头删除项目根路径。
后一个函数 callback() 如果给定的值不是可调用的,将回退到常规 value() 格式化 - 当期望的值应该是 callable 时,此函数更可取,例如,将函数名识别为字符串和实现 __invoke() 的对象。