Maison >développement back-end >tutoriel php >yii 如何使用 CWebLogRoute 记录和调试变量 route delete route add default gw linux route ad

yii 如何使用 CWebLogRoute 记录和调试变量 route delete route add default gw linux route ad

WBOY
WBOYoriginal
2016-07-29 08:48:341339parcourir

简介

我看了几遍关于使用外部库来调试PHP代码(如: firePHP)的文章, 读了这篇文章你会发现在 Yii 中没有必要使用这些外部库.
Yii 内置了强大的日志记录类. 如果你阅读了记录日志的文档, 你可以发现我们可以决定我们希望记录的日志, 这正是我们要做的,使用 CWebLogRoute 创建一个 Yii 版本的 FirePHP.

配置

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

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

使用

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

<code><span>public</span><span><span>function</span><span>actionTrace</span><span>()</span>{</span><span>$test</span> = <span>'This is a test'</span>;

    <span>$anotherTest</span> = <span>array</span>(<span>'one'</span>,<span>'two'</span>,<span>'three'</span>);

    <span>echo</span> Yii::trace(CVarDumper::dumpAsString(<span>$test</span>),<span>'vardump'</span>);

    <span>echo</span> Yii::trace(CVarDumper::dumpAsString(<span>$anotherTest</span>),<span>'vardump'</span>);

    <span>echo</span> Yii::trace(CVarDumper::dumpAsString(<span>$this</span>),<span>'vardump'</span>);
}</code>

Yii 的 FirePHP 函数

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

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

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

    fb(<span>$test</span>);
}</code>

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

补充

此方法无需安装chromephp 插件,firebug浏览器均可使用,opera,chrome,firefox等都适用。

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了yii 如何使用 CWebLogRoute 记录和调试变量,包括了route,eblog方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn