相关疑难解决方法(0)

获取在PHP中执行当前函数的代码行和文件?

想象一下我有以下情况:

File1.php

<?php
 include("Function.php");
 log("test");
?>
Run Code Online (Sandbox Code Playgroud)

Function.php

<?php
 function log($msg)
 {
  echo "";
 }
?>
Run Code Online (Sandbox Code Playgroud)

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

test(文件:File1.php,行号:3)

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

编写积压使用注释:当我以面向对象的编程方式使用backlog时,我有以下情况.

的index.php

<?php
 include("Logger.static.php");
 include("TestClass.class.php");
 new TestClass();
?>
Run Code Online (Sandbox Code Playgroud)

TestClass.class.php

<?php
 class TestClass
 {
   function __construct()
   {
     Logger::log("this is a test log message");
   }
 }
?>
Run Code Online (Sandbox Code Playgroud)

Logger.static.php

<?php
 class Logger
 {
   static public function log($msg)
   {
     $bt = debug_backtrace();
     $caller = array_shift($bt);
     echo $caller['file'];
     echo $caller['line'];
   }
 }
?>
Run Code Online (Sandbox Code Playgroud)

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

php

57
推荐指数
2
解决办法
5万
查看次数

PHP的代码覆盖率工具

是否有适用于PHP的代码覆盖工具?我希望检查我的代码和用PHP编写的API的代码覆盖率,但是我无法掌握PHP的任何代码覆盖工具,因为它更像是服务器端语言和动态性质.

有谁知道可以执行PHP代码覆盖的方法?

php code-coverage

38
推荐指数
2
解决办法
3万
查看次数

标签 统计

php ×2

code-coverage ×1