如何在不使用echo的情况下显示片段的输出

时间:2011-06-07 15:57:37

标签: php modx modx-revolution

modx中的代码段文档:http://rtfm.modx.com/display/revolution20/Snippets

在文档的顶部附近它说: 请注意我们如何返回代码而不是回显内容。切勿在代码段中使用echo - 始终返回输出。

这不会显示任何内容:

return $product_attribute $product_info[0][$column_name];

显示:

echo $product_attribute $product_info[0][$column_name];

如果我无法回复内容,我如何在html页面中进行打印?

3 个答案:

答案 0 :(得分:3)

这基本上意味着您可以echo returned值,而不是echo函数本身的值。在OOP编程中,严格监控对屏幕的回显(或打印)。

例如我有这个功能

function testExample($var) {
    return $var*2;
}

所以当我需要回应它时,我只需要

echo testExample(5);

而不是这个(不好的做法)

function testExample($var) {
    echo $var*2;
}

原因是当您在函数中打印值时,您只能使用该函数来打印值,而不是可重复使用。但是通过返回它,您现在可以使用它进行打印,或者分配给另一个变量或重新计算它。

答案 1 :(得分:0)

从笔记中我可以理解,有一个惯例是不在函数内使用echo,而是返回值,然后可能在之后回显它。

其他印刷的可能性是:

print $your_variable;

die($your_variable);

答案 2 :(得分:0)

return用于返回函数/方法等的值 modx的snippet功能实际上只是一个函数/类包装器。