如何使用 CWebLogRoute 记录和调试变量

简介

我看了几遍关于使用外部库来调试PHP代码(如: firePHP)的文章, 读了这篇文章你会发现在 Yii 中没有必要使用这些外部库.

Yii 内置了强大的日志记录类. 如果你阅读了记录日志的文档, 你可以发现我们可以决定我们希望记录的日志, 这正是我们要做的,使用 CWebLogRoute 创建一个 Yii 版本的 FirePHP.

配置

在我们的 protected/config/main.php 配置文件中添加配置:

<pre>
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CWebLogRoute',
//
// I include trace for the
// sake of the example, you can include
// more levels separated by commas
'levels'=>'trace',
//
// I include vardump but you
// can include more separated by commas
'categories'=>'vardump',
//
// This is self-explanatory right?
'showInFireBug'=>true
),
),
</pre>

使用

准备完毕,现在让我们来追踪一下变量来测试一下, 如下:

<pre>
$test = 'This is a test';

$anotherTest = array('one','two','three');

// variable
// please, check the inclusion of the category vardump
// not including the category, it wont display at all.
echo Yii::trace(CVarDumper::dumpAsString($test),'vardump');

// array
echo Yii::trace(CVarDumper::dumpAsString($anotherTest),'vardump');

// object
echo Yii::trace(CVarDumper::dumpAsString($this),'vardump');
</pre>

Yii 的 FirePHP 函数

上面的代码写起来比较长, 我们来使用一下 强的建议, 让我在 index.php 页面写一个像 FirePHP 函数:

<pre>
//
// In your index.php or your globals.php file
function fb($what){
echo Yii::trace(CVarDumper::dumpAsString($what),'vardump');
}

//
// using the above examples now we could
$test = 'This is a test';

fb($test);
</pre>

OK, 全部完成了,我们的调试器中没有使用外部的类.

补充

忘了提了,它还适用于Chrome开发工具控制台.

英文原文/How to log and debug variables using CWebLogRoute

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,687评论 25 708
  • 日志 Yii提供了一个高度自定义化和高扩展性的日志框架。根据使用场景的不同,你可以很容易的对各种消息就行记录、过滤...
    柏树_Jeff阅读 8,372评论 1 11
  • 京城有一位智者,不仅才华横溢,而且还古道热肠,经常帮助大伙儿解决一些生活上的疑难杂症。大家对他的评价很高,都说他是...
    魔影千风阅读 366评论 0 0
  • (一) 开心的是,副业又一个新的动作准备开始。 虽然,有太多未知,甚至当请教专业人士才发现,原来有这么多的空白和无...
    大蓓Power阅读 205评论 0 0