Xdebug文档(二)变量显示特性
Xdebug能替代PHP的var_dump()函数来显示变量值。xdebug的版本包含对不同数据类型作数组元素/对象属性、最大深度和字符串长度以不同颜色标识。这里也有一些功能能很好地处理变量显示。
相关设置:
xdebug.cli_color
类型: integer, 默认值: 0, 始于 2.2版以上
设置为1时,xdebug会在CLI模式下且在tty终端输出时,会以有色显示var_dump跟踪输出的文字。window下, ANSICON工具需要安装。
设置为2时,则不管是否连接到tty终端或ANSICON是否被安装,xdebug会一直用颜色显示var_dump和调试跟踪信息。这种情形下,你可能在结束处看到转义码。
xdebug.overload_var_dump
类型: boolean, 默认值: 2(2.4版之前,该默认值为1), 始于 2.1版以上
xdebug默认情况下会过载var_dump()函数使用自己的改进版本来显示变量,如果html_errors在php.ini设置为1或2时。如果你真不要这样的设置,可以将此设置设为0,但你要确认它没智能地关闭了html_errors。
建议你使用2值。除了它能美观地格式化显示var_dump()输出,还会输出显示文件名和行号。另外xdebug.file_link_format也相应提供了(2.3版本新特性)。
xdebug.var_display_max_children
类型: integer, 默认值: 128
在使用 xdebug_var_dump(),xdebug.show_local_vars 或 追踪函数时,该设置控制数组元素和对象属性的数量显示。
若不受限制,可以设为-1值。
该设置不受Remot_Debuggin远程调试的任何影响。
xdebug.var_display_max_data
类型: integer, 默认值: 512
在使用 xdebug_var_dump(),xdebug.show_local_vars 或 追踪函数时,该设置控制字符串长度显示最大值。
若不受限制,可以设为-1值。
该设置不受Remot_Debugging远程调试的任何影响。
xdebug.var_display_max_depth
类型: integer, 默认值: 3
在使用 xdebug_var_dump(),xdebug.show_local_vars 或 追踪函数时,该设置控制数组元素和对象属性的显示层级。
最大值为1023,你可以设为-1表示其最大值。
该设置不受Remot_Debugging远程调试的任何影响。
相关函数:
void var_dump( [mixed var [, ...]] )
显示变量的详细信息。
该函数已被xdebug覆盖,详见xdebug_var_dump()。
void xdebug_debug_zval( [string varname [, ...]] )
该函数用于显示一或多个变量的结构化信息,包含其类型、值和被引用信息。数组则循环递归探索元素值。该函数与PHP的debug_zval_dump()函数上实现不一样,它能解决变量本身需要传递给该函数的问题。Xdebug版本的函数更好地利用了变量名称在内部符号表中查找该变量而直接访问所有属性而无需处理变量传递给函数的问题。该函数返回的信息能更精确地表达zval信息。
Example:
<?php
$a = array(1, 2, 3);
$b =& $a;
$c =& $a[2]; xdebug_debug_zval('a');
xdebug_debug_zval("a[2]");
?> /**
Returns: a: (refcount=2, is_ref=1)=array ( 0 => (refcount=1, is_ref=0)=1, 1 => (refcount=1, is_ref=0)=2, 2 => (refcount=2, is_ref=1)=3) a[2]: (refcount=2, is_ref=1)=3
*/
void xdebug_debug_zval_stdout( [string varname [, ...]] )
与xdebug_debug_zval()相同,但该函数不通过web API界面显示该信息,但会直接显示在stdout设备(例如可以运行在apache的单进程模式下并显示在终端)。
void xdebug_dump_superglobals()
该函数显示出超全局变量的元素值,要显示的值在php.ini的xdebug.dump.*中设置。例如php.ini中设置如下:
Example:
xdebug.dump.GET=*
xdebug.dump.SERVER=REMOTE_ADDR Query string:
?var=fourty%20two&array[a]=a&array[9]=b Returns: Dump $_SERVER $_SERVER['REMOTE_ADDR'] = string '127.0.0.1' (length=9) Dump $_GET $_GET['var'] = string 'fourty two' (length=10) $_GET['array'] = array 'a' => string 'a' (length=1) 9 => string 'b' (length=1)
void xdebug_var_dump( [mixed
var [, ...]] )
该函数显示一或多个表达式的结构化详细信息,里面包含类型和值。数组则递归探索其元素值。
Example:
<?php
ini_set('xdebug.var_display_max_children', 3 );
$c = new stdClass;
$c->foo = 'bar';
$c->file = fopen( '/etc/passwd', 'r' );
var_dump(
array(
array(TRUE, 2, 3.14, 'foo'),
'object' => $c
)
);
?> /**
Returns: array 0 => array 0 => boolean true 1 => int 2 2 => float 3.14 more elements... 'object' => object(stdClass)[1] public 'foo' => string 'bar' (length=3) public 'file' => resource(3, stream)
*/
Xdebug文档(二)变量显示特性的更多相关文章
- 在项目中利用TX Text Control进行WORD文档的编辑显示处理
在很多文档管理的功能模块里面,我们往往需要对WORD稳定进行展示.编辑等处理,而如果使用微软word控件进行处理,需要安装WORD组件,而且接口使用也不见得简单易用,因此如果有第三方且不用安装Offi ...
- Pycharm文档模板变量
点击这里查看JetBrains官方英文源文件 本篇Blog只是搬运外加大概翻译一下. File template variables A file template can contain varia ...
- Excel催化剂开源第5波-任务窗格在OFFICE2013中新建文档不能同步显示问题解决
在OFFICE2013及之后,使用了单文档界面技术,不同于以往版本可以共享任务空格.功能区.所以当开发任务窗格时,需要考虑到每一个工作薄都关联一个任务窗格. 背景介绍 单文档界面摘录官方定义如下:对 ...
- Xdebug文档(七) 远程调试
Xdebug提示调试客户端接口与PHP运行相联系.该章节解释如何设置PHP与xdebug,并推荐一些客户端. 介绍 Xdebug的远程调试器允许你检查数据结构,交互式地穿过和调试你的代码.该协议已经开 ...
- 基于Zabbix API文档二次开发与java接口封装
(继续贴一篇之前工作期间写的经验案例) 一. 案例背景 我负责开发过一个平台的监控报警模块,基于zabbix实现,需要对zabbix进行二次开发. Zabbix官方提供了Rest ...
- web开发规范文档二
头部 header\hd 内容块 content\con\bd text txt title 尾部 footer 导航 nav\menu sub-n ...
- MongoDB文档(二)--查询
(一)查询文档 查询文档可以使用以下方法 # 以非结构化的方式显示所有的文档 db.<collectionName>.find(document) # 以结构化的方式显示所有文档 db.& ...
- 翻译qmake文档(二) Getting Started
翻译qmake文档 目录 原英文文档: http://qt-project.org/doc/qt-5/qmake-tutorial.html 本教程教讲授qmake基础知识.这个手册里 ...
- Xcode 缓存 帮助文档 隐藏文件夹显示方法
删除Xcode的缓存路径是:/Users/用户名/Library/Developer/Xcode/DerivedData(默认情况下, 这是一个隐藏文件夹) 显示隐藏文件夹 指令如下:显示隐藏文件: ...
随机推荐
- 启动第一个 KVM 虚机 - 每天5分钟玩转 OpenStack(4)
本节演示如何使用 virt-manager 启动 KVM 虚机. 首先通过命令 virt-manager 启动图形界面 # virt-manager 点上面的图标创建虚机 给虚机命名为 kvm1,这里 ...
- MyEclipse的项目中把 java EE 5 Libraries 删掉后怎么重新导入
myeclipse中鼠标右击项目->properties->java Build Path=>Libraries=>Add Library...=>选择MyEclipse ...
- iOS开发之WebView
做iOS的应用也有一段时间了,在之前的demo中一直没有机会用到WebView,今天就查缺补漏一下,使用一下WebView.最早接触WebView是在Android中接触的,iOS中的WebView的 ...
- Windows下Go语言的环境搭建
在本地搭建了一个开发GO语言的开发环境,给大家分享一下用go语言写的第一个hello world的过程,希望对大家有所帮助. 1.想写GO语言首先得下载go语言的开发包 官方下载地址:https:// ...
- 关于Repository、IUnitOfWork 在领域层和应用服务层之间的代码分布与实现
本来早就准备总结一下关于Repository.IUnitOfWork之间的联系以及在各层中的分布,直到看到田园里的蟋蟀发表的文章:<DDD 领域驱动设计-谈谈 Repository.IUnitO ...
- Git代码管理工具
Git代码管理工具 Git 是分布式的源代码管理工具,这点区别于svn -让源代码可以被追溯,主要是记录了每次的更新了什么,如果新版本不想用,那么则可以退回之前的版本 -Git 是Linux之父当年为 ...
- Java 线程池框架核心代码分析--转
原文地址:http://www.codeceo.com/article/java-thread-pool-kernal.html 前言 多线程编程中,为每个任务分配一个线程是不现实的,线程创建的开销和 ...
- C# 设置word文档页面大小
我们知道,在MS word中,默认的页面大小是letter(8.5’’x11’’),除此之外,word还提供了其他一些预定义的页面大小,如Legal (5.4’’x14’’),A3 (11.69’’x ...
- 1Z0-053 争议题目解析681
1Z0-053 争议题目解析681 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 681.The environmental variable ORACLE-BASE is set ...
- 关于JavaScript定时机制的总结
要理解JavaScript的定时机制,就要知道JavaScript的运行机制. 首先声明,JavaScript是单线程运行(JavaScript引擎线程)事件驱动. 一.浏览器中有多个线程 一款浏览器 ...