【问题标题】:Easy debugging in Kohana by printing variables?通过打印变量在 Kohana 中轻松调试?
【发布时间】:2011-05-06 20:29:19
【问题描述】:

有没有一种简单的方法可以将变量从 Kohana 中的控制器回显到页面(或其他位置)?在开发模式下使用 Django,您可以轻松添加显示到控制台的打印语句。在 Kohana 中,我不得不将变量传递给视图,这很快就会导致问题。

编辑以指定:Kohana 3.1

【问题讨论】:

    标签: debugging kohana


    【解决方案1】:

    查看Kohana Debug Toolbar。它是一个非常有用的调试和分析模块。对于自定义变量,您可以调用DebugToolbar::add_custom('foo', $foo),然后在特殊工具栏中分析其转储。

    【讨论】:

    • 根据开发页面,它只兼容Kohanna 2.3.x
    • 那个开发页面已经很旧了。使用我的链接从 github 获取一个模块
    • 太好了,我认为这是我的团队已经在考虑的工具之一。
    • 它们是可选的,您可以从 KDT 配置文件中禁用 firephp。
    【解决方案2】:

    这取决于您的 Kohana 版本。对于 v3.1,您需要使用:

    Debug::vars($myVar)

    您可以将其粘贴到变量中,或者只是从您的 PHP 文件中回显它。

    对于旧版本的 Kohana,您需要使用:

    Kohana::debug($myVar)

    【讨论】:

    • 这在模板中似乎可以正常工作,但我如何才能在控制器中使用它而不添加大量杂乱的东西来将输出传递给模板?
    • 如果您想要临时“修复”,可以直接从控制器打印 Debug::vars()。它并不优雅,但它确实有效。 ;)
    • 谢谢!看起来这适用于控制器,但不显示控制器中辅助函数的输出(例如private function ...),或者是否有表单提交处理。
    【解决方案3】:

    在 3.1 中回显 Debug::vars()

    在 3.0 中,您将使用 echo Kohana::debug()

    【讨论】:

    • 谢谢zombor。我会问我对其他类似答案所做的同样的问题——这似乎在模板中工作得很好,但是我如何从控制器中使用它而不添加大量的杂物来将输出传递给视图?跨度>
    【解决方案4】:

    Kohana DeveloperBar 模块可以帮助您:

    https://github.com/marcelorodrigo/developerbar

    【讨论】:

    • 太棒了!让它在不到 2 分钟的时间内运行。
    【解决方案5】:

    另一种选择是使用 firebug + firephp。您可以添加在 firebug 控制台上可见的调试语句。

    【讨论】:

      【解决方案6】:

      它在 Kohana v3.3.0(stable) 中发生了变化,您可以使用扩展 Kohana_DebugDebug 类静态方法这里是转储调试变量的示例:

      <?php
      
      $days = Date::days(2, 2019);
      echo "<pre>";
      echo DEBUG::dump($days);
      echo "</pre>";
      
      ?>
      

      另一种方法是DEBUG::vars(),示例如下:

      <?php
      
      $days = Date::days(2, 2019);
      echo DEBUG::vars($days);
      
      ?>
      

      关于Debug类和其他调试方法的更多信息,您可以查看Kohana调试文件的目录位于system/classes/kohana/debug.php大部分方法都非常不言自明的名称,您可以将它们用作您的要求,就像上面一样。

      希望这会有所帮助:)...!!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-11
        • 2012-12-22
        • 2012-01-28
        • 1970-01-01
        • 2010-12-06
        • 2011-04-08
        相关资源
        最近更新 更多