Fecshop 2016-08-03 09:24:34 4725次浏览 1条评论 1 1 0

debug_backtrace是一个bug工具,如果加入到某个类函数里面,那么可以看到调用这个函数的类方法,依次上推,直至index.php
下面是我打印的一个yii2组件的日志:

原文链接:FancyEcommerce - php 调试利器: debug_backtrace

    public function actionBootstrap($app){
        
        $d = debug_backtrace();
        foreach($d as $e){
          $function = $e['function'];
          $class = $e['class'];
          $file = $e['file'];
          $line = $e['line'];
          echo $file.'('.$line.'),'.
          $class.'::'.$function.'()<br/>';
        }
        echo '<br/><br/>';

输出的日志为:

    (),fecshop\services\Store::actionBootstrap()
    /www/web/develop/fecshop/vendor/fancyecommerce/fecshop/services/Service.php(58),::call_user_func_array()
    /www/web/develop/fecshop/vendor/fancyecommerce/fecshop/components/Store.php(22),fecshop\services\Service::__call()
    /www/web/develop/fecshop/vendor/fancyecommerce/fecshop/components/Store.php(22),fecshop\services\Store::bootstrap()
    /www/web/develop/fecshop/vendor/yiisoft/yii2/base/Application.php(316),fecshop\components\Store::bootstrap()
    /www/web/develop/fecshop/vendor/yiisoft/yii2/web/Application.php(66),yii\base\Application::bootstrap()
    /www/web/develop/fecshop/vendor/yiisoft/yii2/base/Application.php(267),yii\web\Application::bootstrap()
    /www/web/develop/fecshop/vendor/yiisoft/yii2/base/Object.php(107),yii\base\Application::init()
    /www/web/develop/fecshop/vendor/yiisoft/yii2/base/Application.php(206),yii\base\Object::__construct()
    /www/web/develop/fecshop/appfront/web/index.php(44),yii\base\Application::__construct()

这样就可以记录出来这个函数被调用的位置,很有利于调试

觉得很赞
  • 评论于 2016-12-22 09:17 举报

    最后,推荐一下我的Fecshop ,开源商城,github地址:https://github.com/fancyecommerce/yii2_fecshop

    演示地址:http://fecshop.appfront.fancyecommerce.com/

    截止到2016-11-12号,产品,分类,首页,评论,用户中心,搜索,多语言,多货币 等功能已经做完,除了购物车和支付部分,其他的基本都已经完成,关注fecshop的 在等2-3个月,也就是明年2,3月份,版本已经就可以出来,2017年4,5月份在把手机web 做一下,预计到明年5月份,后台,pc前台,手机web前台 ,命令控制台 这几个入口 基本可以完善,多谢大家关注和你们的Star,谢谢,我会坚持把他写好。

    作者QQ:2358269014

您需要登录后才可以评论。登录 | 立即注册