awesomite/ var-dumper
var_dump函数的替代方案
v1.5.0
2019-11-23 07:53 UTC
Requires
- php: ^5.3 || ^7.0
- awesomite/iterators: ^1.0
- symfony/polyfill-mbstring: ^1.6
Requires (Dev)
- awesomite/phpunit-4.8-fixer: ^1.0
- phpunit/phpunit: ^4.8.36
- sebastian/comparator: >=1.2.3
- symfony/console: ^2.7 || ^3.0 || ^4.0 || ^5.0
- symfony/var-dumper: ^2.7 || ^3.0 || ^4.0 || ^5.0
Suggests
- symfony/var-dumper: Required for Awesomite\VarDumper\SymfonyVarDumper
Conflicts
- symfony/var-dumper: <2.7.16 || >=2.8.0 <2.8.9 || >=3.0.0 <3.0.9 || >=3.1.0 <3.1.3
- dev-master
- 2.0.x-dev
- v1.5.0
- v1.4.0
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.12.1
- v0.12.0
- v0.11.2
- v0.11.1
- v0.11.0
- v0.10.1
- v0.10.0
- v0.9.0
- v0.8.0
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.1
- v0.4.0
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.1
- v0.2.0
- v0.1.2
- v0.1.1
- v0.1.0
This package is auto-updated.
Last update: 2024-09-20 14:04:33 UTC
README
为什么使用?
为了限制打印变量的最大大小,并生成比内置的var_dump
函数更易读的输出。
使用方法
<?php use Awesomite\VarDumper\LightVarDumper; $loremIpsum = <<<'LOREM_IPSUM' Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat. LOREM_IPSUM; $array = array( 'a' => 'a', 'ab' => 'ab', 'abc' => 'abc', 'abcd' => 'abcd', 'abcde' => 'abcde', 'abcdef' => 'abcdef', 'abcdefg' => 'abcdefg', 'abcdefgh' => 'abcdefgh', ); $smallArray = array(1, 2.5, null, M_PI, INF); $varDumper = new LightVarDumper(); $varDumper ->setMaxChildren(20) ->setMaxDepth(5) ->setMaxStringLength(400) ->setMaxLineLength(50) ->setIndent(' '); $varDumper->dump(array($loremIpsum, $array, $smallArray));
输出
array(3) {
[0] =>
string(768)
› Lorem ipsum dolor sit amet, consectetur adipiscing
› elit. Proin nibh augue, suscipit a, scelerisque
› sed, lacinia in, mi. Cras vel lorem. Etiam
› pellentesque aliquet tellus. Phasellus pharetra
› nulla ac diam. Quisque semper justo at risus.↵
› Donec venenatis, turpis vel hendrerit interdum,
› dui ligula ultricies purus, sed posuere libero dui
› id orci. Nam congue, pede vitae dapibus aliquet,
› elit magna vulpu...
[1] =>
array(8) {
[a] => “a”
[ab] => “ab”
[abc] => “abc”
[abcd] => “abcd”
[abcde] => “abcde”
[abcdef] => “abcdef”
[abcdefg] => “abcdefg”
[abcdefgh] => “abcdefgh”
}
[2] => array(5) {1, 2.5, NULL, M_PI, INF}
}
注意
使用方法dumpAsString()
代替dump()
来保存输出为变量。
安装
composer require awesomite/var-dumper
示例
带有堆栈跟踪的异常
object(DivideByZeroException) #4 {[
[message] => “Cannot divide by zero”
[code] => 0
[file] => “(...)/examples/exception.php:31”
[previous] => NULL
[trace] =>
1. (...)/examples/exception.php:48 Divider->divide(
a: 5
b: 0
)
2. (...)/examples/exception.php:55 Calculator::execute(
action: “divide”
numberA: 5
numberB: 0
)
]}
简单数组
<?php use Awesomite\VarDumper\LightVarDumper; $dumper = new LightVarDumper(); $dumper->dump(\range(1, 5));
array(5) {1, 2, 3, 4, 5}
闭包
<?php use Awesomite\VarDumper\LightVarDumper; $firstName = 'Mary'; $lastName = 'Watson'; $function = function ($a, $b) use ($firstName, $lastName) { }; $dumper = new LightVarDumper(); $dumper->dump($function);
object(Closure) #3 {[
[name] => “{closure}”
[filename] => “(...)/var-dumper/examples/closure.php”
[startLine] => 7
[endLine] => 8
[use] =>
array(2) {
[firstName] => “Mary”
[lastName] => “Watson”
}
]}
预定义常量
<?php use Awesomite\VarDumper\LightVarDumper; $dumper = new LightVarDumper(); $dumper->dump(array( M_LOG2E, PHP_INT_MAX, M_PI, ));
array(3) {M_LOG2E, PHP_INT_MAX, M_PI}
版本控制
版本号遵循语义版本控制2.0.0方案。
注意
只有源代码被认为是向后兼容的,dump()
和dumpAsString()
方法的输出可能会更改。标记为@internal
的类、方法、函数和属性可能会随时更改,向后兼容的承诺不包括它们,请不要使用它们。
许可证
此库在MIT许可证下发布。