【问题标题】:How to Display output from snippet without using echo如何在不使用 echo 的情况下显示片段的输出
【发布时间】:2011-06-07 15:57:36
【问题描述】:

modx 中关于 sn-ps 的文档: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 页面中打印?

【问题讨论】:

    标签: php modx modx-revolution


    【解决方案1】:

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

    比如我有这个功能

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

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

    echo testExample(5);
    

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

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

    原因是当你在函数中打印值时,你只能使用那个函数来打印值,这根本不是可重用的。但是通过返回它,您现在可以将其用于打印、分配给另一个变量或重新计算它。

    【讨论】:

      【解决方案2】:

      据我从注释中了解到,有一个惯例是不在函数内部使用echo,而是返回值并可能在之后回显它。

      其他打印可能性是:

      print $your_variable;

      die($your_variable);

      【讨论】:

      • 不知道为什么它说不回显。希望有人知道。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2021-12-04
        • 2021-11-17
        • 2021-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多