2011-05-06 59 views
2

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

编辑指定:Kohana的3.1

回答

2

这取决于你的Kohana版本。对于V3.1,你将要使用:

Debug::vars($myVar)

你能坚持到这一个变量或只是附和它从你的PHP文件。

对于旧版本的Kohana的,你会想用:

Kohana::debug($myVar)

+0

这似乎从一个模板工作正常,但我怎么能从控制器使用它,而无需添加大量的cruft将输出传递到模板? – 2011-05-06 20:53:02

+1

如果您想要临时“修复”,则可以直接从您的控制器打印Debug :: vars()。这不是优雅,但它的作品。 ;) – DondeEstaMiCulo 2011-05-06 21:06:36

+0

谢谢!它看起来像是适用于控制器,但不显示控制器中的辅助函数的输出(例如'private function ...'),或者是否有表单提交处理。 – 2011-05-06 21:18:10

1

在3.1

在3.0呼应Debug::vars(),你会使用回声Kohana::debug()

+0

谢谢zombor。我会问我同样的问题,我做了其他类似的答案 - 这似乎从一个模板工作正常,但我怎么能从控制器使用它,而不添加大量的cruft将输出传递到视图? – 2011-05-06 21:05:05

0

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

3

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

+0

根据开发页面,它只与[Kohanna 2.3兼容。X](http://dev.kohanaframework.org/projects/kohana-debug-toolbar)。 – 2011-07-05 16:28:03

+0

该开发页面非常陈旧。从github上拿一个模块和我的链接 – biakaveron 2011-07-06 12:42:10

+0

太棒了,我认为这是我的团队正在考虑的工具之一。 – 2011-07-06 15:47:02

0

其在Kohana中3.3.0(稳定)改变,你可以使用扩展Kohana_Debug这里是转储调试为例Debug类的静态方法一个变量:

<?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的调试文件位于系统/班/ Kohana的/ debug.php的目录以外的方法大多数方法有你非常自我解释的名称可以像上面一样使用它们作为您的要求。

希望这有助于:)...!