PHP debug_backtrace() 函数
实例
生成 PHP backtrace:
<?php
function a($txt) {
b("Glenn");
}
function b($txt) {
c("Cleveland");
}
function c($txt) {
var_dump(debug_backtrace());
}
a("Peter");
?>
以上代码的输出类似这样:
Array (
[0] => Array (
[file] => C:\webfolder\test.php
[line] => 6
[function] => c
[args] => Array (
[0] => Cleveland
)
)
[1] => Array (
[file] => C:\webfolder\test.php
[line] => 3
[function] => b
[args] => Array (
[0] => Glenn
)
)
[2] => Array (
[file] => C:\webfolder\test.php
[line] => 11
[function] => a
[args] => Array (
[0] => Peter
)
)
)
定义和用法
debug_backtrace() 函数生成 backtrace(回溯跟踪)。
该函数显示由 debug_backtrace() 函数代码生成的数据。
返回一个关联数组。可能返回的元素如下:
| 名称 | 类型 | 描述 |
|---|---|---|
| function | string | 当前函数名称 |
| line | integer | 当前行号 |
| file | string | 当前文件名 |
| class | string | 当前类名 |
| object | object | 当前对象 |
| type | string |
当前调用类型。可能的调用:
|
| args | array | 如果在函数中,列出函数参数。如果在被引用的文件中,列出被引用的文件名。 |
语法
debug_backtrace(options,limit);
| 参数 | 描述 |
|---|---|
| options |
可选。规定以下选项的位掩码:
|
| limit | 可选。限制返回堆栈帧的数量。默认为 (limit=0) ,返回所有的堆栈帧。 |
技术细节
| 返回值: | None |
|---|---|
| PHP 版本: | 4.3+ |
| PHP 更新日志 |
PHP 5.4:添加了可选的参数 limit。 PHP 5.3.6:参数 provide_object 改成 options,并且增加了可选参数 DEBUG_BACKTRACE_IGNORE_ARGS。 PHP 5.2.5:添加了可选参数 provide_object。 PHP 5.1.1:添加了当前的 object 为可能返回的元素。 |
PHP debug_backtrace() 函数的更多相关文章
- 利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载
简述 可能大家都知道,php中有一个函数叫debug_backtrace,它可以回溯跟踪函数的调用信息,可以说是一个调试利器. 好,来复习一下 01 one(); 02 03 function one ...
- PHP debug_backtrace() 函数打印调用处的调试信息
http://php.net/manual/zh/function.debug-backtrace.php debug_backtrace (PHP 4 >= 4.3.0, PHP 5, PHP ...
- (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】
原文地址:http://www.cnblogs.com/melonblog/archive/2013/05/09/3062303.html 原文作者:豆浆油条 - melon 本文示例代码测试环境是W ...
- 【PHP手册】 PHP debug_backtrace() 函数
定义和用法 PHP debug_backtrace() 函数生成一个 backtrace(回溯信息). 该函数返回一个关联数组.下面是可能返回的元素: 名称 类型 描述 function 字符串 当前 ...
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...
- PHP 代码跟踪
怎么知道代码的执行过程呢,也就是说怎么知道:是先执行哪些代码,然后执行哪些代码呢? 这里有一个非常犀利的函数,可以让你知道代码的执行过程 debug_backtrace() 函数. 来一段代码: L ...
- Xdebug安装与使用
为什么需要Debugger? 很多PHP程序员调试使用echo.print_r().var_dump().printf()等,其实对 于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序 ...
- php反射机制应用
用来获取指定的类的信息,包括类中的属性,方法,方法权限,注释等 用途:1.thinkPHP框架中的前置,后置控制器的实现 2.与debug_backtrace函数结合使用,文件调用的权限管理 使用方法 ...
- PHP实现事件机制实例分析
PHP实现事件机制实例分析 内置了事件机制的语言不多,php也没有提供这种功能.事件(Event)说简单了就是一个Observer模式.实现起来非常easy.可是有所不同的是,事件的监听者谁都能够加, ...
随机推荐
- 如何查找Windows上安装的DB2的端口号Port
1.db2com打开控制台 2.db2 get dbm cfg 可以通过db2 get dbm cfg,查询数据库管理器配置参数,就可以查到端口号或端口名. 示例: $ db2 get dbm cfg ...
- AIX 常用命令 第一步(uname,lspv)
如何知道自己在运行单处理器还是多处理器内核? /unix 是指向已启动内核的符号链接.要了解正在运行什么内核模式,可输入 ls -l /unix 并查看 /unix 链接到什么文件.下面是 ls -l ...
- [转] Makefile 基础 (7) —— Makefile 中 make 的运行
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客:(最原始版本) http://blog.csdn.net/haoel/article/details/2886 我转自 ...
- jquery不同版本导致的checkbox设置了属性,但是没有选中效果
由于本人好久不做B/S了,今天同学问我个问题才发现了jquery版本还是存在差异的,今天写的就是关于获取checkbox属性的方式(可能不应该叫属性了其实,后面就知道了). 看下面的代码截图吧 < ...
- 文本生成器(bzoj 1030)
Description JSOI交给队员ZYX一个任务,编制一个称之为“文本生成器”的电脑软件:该软件的使用者是一些低幼人群,他们现在使用的是GW文本生成器v6版.该软件可以随机生成一些文章―――总是 ...
- 我要好offer之 C++大总结
0. Google C++编程规范 英文版:http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml 中文版:http://zh-g ...
- SharePoint 2013 App 开发—App开发概述
基于安全性的考虑,SharePoint App 不能像其它两种方式一样,直接使用安全性更高的服务端代码的API.Javascript 扮演极为重要的角色,在SharePoint App中与ShareP ...
- 标准C程序设计七---37
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
- udp 多播2
11.3 多播 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信.单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信.实际情况下,经常 ...
- LeetCode OJ-- Spiral Matrix
https://oj.leetcode.com/problems/spiral-matrix/ 螺旋矩阵,逆着转,输出矩阵中的元素. 在纸上模仿,然后记左上角(l1,l2)右上角(l1,r2),左下角 ...