如何在模板中var_dump SilverStripe变量

时间:2018-01-18 20:28:16

标签: debugging silverstripe

我开始使用SilverStripe php CMS / Framework。我们有什么方法可以{。1}} .ss模板中的变量吗?

3 个答案:

答案 0 :(得分:4)

您可以使用Debug::dump($theDataYouWantToDump)在php Silverstripe代码库中的任何位置转储浏览器或命令行中的任何数据。此外,您可以从.debug模板中的任何DataObject,ViewableData对象运行.ss来查看基础数据。

示例,您可以在Silverstripe PageController类中执行此操作以转储测试数据。

public function init(){
    parent::init();
    Debug::dump("dumping test data from the controller init function");
}

或者您可以在.ss模板中执行此类操作以转储测试数据。

 $Page('home').debug

希望能回答你的问题。

答案 1 :(得分:0)

SilverStripe模板中的变量通过控制器拉入。您应该能够使用PHP var_dump来自控制器的变量。

https://docs.silverstripe.org/en/4/developer_guides/templates/syntax/#variables

答案 2 :(得分:0)

将其中任何一个放入您的PHP代码中,通常在您的Controller中,其中$ myVariable是自定义函数或只是一个变量来测试返回的数据。当你重新加载它时,它应该显示在你网页的最顶层......

Debug::show($myVariable); // formated output
// vs
print_r($myVariable); // unformated output

我不记得是否有一个真正的.ss模板变量除了创建一个自定义函数并将其称为普通模板变量之外,它做了类似这样的事情,这与上面两个没有什么不同选项。