如何 var_dump 模板中的 SilverStripe 变量

How to var_dump SilverStripe variables in templates

我开始使用 SilverStripe php CMS/Framework。有什么办法可以 var_dump .ss 模板中的变量?

SilverStripe 模板中的变量是通过控制器引入的。您应该能够使用 PHP.

从控制器中 var_dump 变量

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

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

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

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

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

 $Page('home').debug

希望这能回答您的问题。

将其中任何一个放入您的 PHP 代码中,最常见的是在您的控制器中,其中 $myVariable 是自定义函数或只是一个变量,用于测试返回的数据。当您重新加载它时,它应该会显示在您网页的最顶部...

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

我不记得是否有一个实际的 .ss 模板变量除了创建自定义函数并像普通模板变量一样调用它之外做任何类似的事情,这与上述两个选项没有什么不同。