想象一下,我有以下情况:

File1.php

include("Function.php");

log("test");

?>

Function.php

function log($msg)

{

echo "";

}

?>

我想更改日志功能,以便它会产生以下:

test (file: File1.php, line number: 3)

所以,任何方式获取文件名和行号执行PHP中的当前函数的代码?

编辑积压用法评论:

当我在面向对象的编程方式中使用backlog时,我有以下情况。

Index.php

include("Logger.static.php");

include("TestClass.class.php");

new TestClass();

?>

TestClass.class.php

class TestClass

{

function __construct()

{

Logger::log("this is a test log message");

}

}

?>

Logger.static.php

class Logger

{

static public function log($msg)

{

$bt = debug_backtrace();

$caller = array_shift($bt);

echo $caller['file'];

echo $caller['line'];

}

}

?>

此示例将返回为文件“Index.php”,并作为行号4,这是类启动的地方。但是,它应该返回文件TestClass.class.php和行号6.任何想法如何解决这个问题?

php获取当前行,获取在PHP中执行当前函数的代码行和文件?相关推荐

  1. R语言导入数据文件(数据导入、加载、读取)、使用readr包中的read_csv函数导入逗号分割文件CSV(Comma Delimited Text File)

    R语言导入数据文件(数据导入.加载.读取).使用readr包中的read_csv函数导入逗号分割文件CSV(Comma Delimited Text File) 目录

  2. HTML自动获取地址,网页中自动获取经纬度值并在地图中显示当前位置实例代码...

    下面的HTML代码就是实例完整代码,如果你需要本项目完整实例代码,下载链接在文章最底部 网页中自动获取经纬度值并在地图中显示当前位置,可在地图中进行拖动选择当前位置并输出经纬度,这是项目实例代码,可参 ...

  3. 在python中、对于函数定义代码的理解_python中如何理解装饰器代码?

    长文预警,[最浅显易懂的装饰器讲解] 能不能专业地复制题目?配上代码,问题分段. 我来给提主配上问题的代码. 正式回答: 1:如何理解return一个函数,它与return一个值得用法区别在哪? 敲黑 ...

  4. python中的main函数可以被其他文件调用么_在Python中,如何在另一个py文件的[if\u name\uuuu='\uu main\uu']中调用子例程?...

    你不能"调用它的主函数",因为它没有主函数. 事实上,通常的处理方法是将所有这些代码移到一个函数中,然后使 __main__ 警戒代码就是这么叫的: def main(args): ...

  5. mPaas小程序(支付宝、钉钉...)页面中(axml中)使用函数(使用.sjs文件)

    mpaas小程序在js文件中定义的函数在页面中调用会发生报错,要使用sjs文件来定义函数 SJS(safe/subset javascript)是小程序一套自定义脚本语言,可以在 AXML 中使用其构 ...

  6. 获取 Windows 窗体 DataGridView 控件中选定的单元格、行和列

    获取 DataGridView 控件中选中的单元格 使用 SelectedCells 属性. 注意 使用 AreAllCellsSelected 方法可避免显示可能具有大量数据的单元格. Visual ...

  7. JS中深浅拷贝 函数封装代码

    一.了解 基本数据类型保存在栈内存中,按值访问,引用数据类型保存在堆内存中,按址访问. 二.浅拷贝 浅拷贝只是复制了指向某个对象的指针,而不是复制对象本身,新旧对象其实是同一内存地址的数据,修改其中一 ...

  8. python主线程执行_在Django vi中的主线程中执行Python函数

    我创建了Django视图"graph",目的是显示从matplotlib.pyplot模块.我编写了我的函数plot\u bubbles(返回amatplotlib.figure. ...

  9. 在C++中使用Lambda函数提高代码性能

    使编译器以及操作系统从正在创建的应用中榨取更高性能的关键在于提供充足的有关代码意图的信息.在充分了解这个代码意图实现的功能等信息的情况下, 就有可能将代码在编译时和运行时的并行吞吐量最大化,令开发者可 ...

  10. python中的main函数可以被其他文件调用么_Python中在脚本中引用其他文件函数的实现方法...

    在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址.所以如果要在当前脚本引用其他文件,除了将文件放在和 ...

最新文章

  1. 真正实现与人更类似的智能!Jeff Hawkins:创造机器智能的路线图
  2. FJ省队集训DAY4 T1
  3. 页面刷新vuex数据消失问题解决方案
  4. mysql5.6启动占用内存很大的解决方法
  5. ArcCore重构-Platform_Types.h实现辨析
  6. python表白源代码-python浪漫表白源码
  7. mysql for centos下载_python数据分析之路——centos下载并配置mysql与navicat的使用
  8. 织梦dedecms如何对列表添加判断语句
  9. 结对开发四------求一维无头数组最大子数组的和
  10. mysql 分区信息查看
  11. ffmpeg在android上输出滑屏问题处理
  12. 最终章 | TensorFlow战Kaggle“手写识别达成99%准确率
  13. 78-spark2.2的编译
  14. (How to)Windows Live Writer插入Latex公式(补充)
  15. ArcGIS JS 学习笔记2 实现仿百度的拖拽画圆
  16. 编码基本功:类成员要加前缀,这样可以避免同名变量
  17. HDU4635 Strongly connected
  18. 小猫爪:PMSM之FOC控制04-SVPWM
  19. C#语言和doNet框架
  20. 车路协同场景身份认证及 V2X 通信安全保障

热门文章

  1. [转]Http Message结构学习总结
  2. 如何让Android横竖屏切换时不销毁当前activity
  3. C++基本类型隐性转换。
  4. C#中RestoreDirectory属性
  5. 相对定向绝对定向 MFC 实现 CSU摄影测量学
  6. ENVI入门系列教程---二、图像分析---10.基于专家知识决策树分类
  7. 专题三——枚举、模拟、排序
  8. IDL | 语句练习
  9. 从Spring代理的bean中获取代理对象
  10. Flutter之实战InheritedWidget详解